繁体   English   中英

Python元组问题

[英]Python Tuple Issue

我正在学习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”“放弃所有船只-5-Stange Love.mp3”的位置以及您看到“ u'p”的数据:u'5RtyGQwS',”在第一行。 在不预定义元组中出现的任何信息的情况下,我将如何访问它们?

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

您可以像这样提取一些数据:

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

(假设您在d有字典(如Dan和David所说,这是字典,而不是元组))。

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

例如,如果此Dict被称为MusicDict,您将像这样访问所需的信息:

要访问第一行信息:

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

这将返回“ 5RtyGQwS”

要访问访问所有船只:

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

这将返回“放弃所有船只”

我不确定这对您的数据最有用的结构,但看起来有些混乱。

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

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

data['AclTQTAa']['a']['n']

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM