0

我正在学习 Python Tuple,感觉有点不知所措。我正在处理一个大约是我在下面汇总的大小的 20 倍的元组。

{u'0UsShTrY': {u'a': {u'n': u'Backups'}, u'h': u'0UsShTrY', u'k': (16147314, 17885416, 1049370661, 902515467), u'ts': 13734967, u'p': u'5RtyGQwS', u'u': u'xpz_tb-YDUg', u't': 1, 'key': (16147314, 17885516, 10490661, 9015467)}, 
u'oMV32IgB': {u'a': {'n': 'Rubbish Bin'}, u'h': u'oMV32IgB', u'k': u'', u'ts': 13734735, u'p': u'', u'u': u'xpz_tb-YDUg', u't': 4}, 
u'AclTQTAa': {u'a': {u'n': u'Test3'}, u'h': u'AclTQTAa', u'k': (4031580, 13207606, 20877418,89356117), u'ts': 1373476935, u'p': u'4FlnwBTb', u'u': u'xpz_tb-YDUg', u't': 1, 'key': (4032580, 13208406, 20627418, 4893117)}, 
u'kEk0RbKR': {u'a': {u'n': u'Abandon All Ships - 5 - Stange Love.mp3'}, u'h': u'kEk0RbKR', u'k': (4714448, 440504, 14565743L, 7910538L), u'ts': 13737027, 'iv': (4284718, 20627111, 0, 0), u'p': u'wQkyFS6S', u's': 1731926, 'meta_mac': (3010404L, 2624700L), u'u': u'xpz_tb-YDUg', u't': 0, 'key': (94654, 201535, 385311L, 301074L, 42818, 204311, 3010404L, 269100L)}}

现在,我的问题是,我正在尝试访问位于您看到"Test3""Abandon All Ships - 5 - Stange Love.mp3"的位置的数据,以及例如您看到"u'p' 的位置:u'5RtyGQwS',”在第一行。如果不预先定义元组中出现的任何信息,我将如何访问这些?

任何帮助表示赞赏。谢谢。

4

3 回答 3

0

您似乎显示的实际上不是元组,而是由键/值对组成的字典,其中一些值本身就是具有键/值对的字典,其中一些包含元组。

例如,如果此 Dict 称为 MusicDict,您将访问所需的信息,如下所示:

要访问第一行信息:

MusicDict['0UsShTrY']['p']

这将返回“5RtyGQwS”

要访问访问所有船舶:

MusicDict['kEk0RbKR'][['a']['n']

这将返回“Abandon All Ships”

我不确定这是对您的数据最有用的结构,但它看起来有点困惑。

于 2013-07-11T01:40:48.653 回答
0

您可以使用推导式提取一些数据,如下所示:

[d[k]['a']['n'] for k in d]
# => [u'Backups', 'Rubbish Bin', u'Test3', u'Abandon All Ships - 5 - Stange Love.mp3']

(假设你有你的听写(它是一个听写,正如丹和大卫所说,而不是一个元组)d)。

于 2013-07-11T01:37:25.757 回答
0

您的数据存储在嵌套字典中,而不是元组中。在字典中,您可以使用它的键(例如 d['key'])直接访问一个值。对于元组,您只能通过索引访问一个元素(例如,t[2] 将访问元组 t 中的第三个元素)。

要从您的数据中访问值“Test3”,您可以通过

data['AclTQTAa']['a']['n']
于 2013-07-11T01:43:14.863 回答