我有一个包含许多键的字典,我想将一个键的每个元素存储为列表列表。
dict = {'d': [[5.5, 42, 'p1'], [3, 17, 'p2'], [3, 8, 'p3'], [2.8, 3, 'p4']],
'm': [[4.2, 12, 'p5'], [4.8, 25, 'p6'], [4.3, 3, 'p7'], [8.9, 29, 'p8']],
's': [[8.6, 42, 'p9'], [9.7, 46, 'p10']],
'g': [[4.3, 56, 'p11'], [5.1, 8, 'p12']]}
k=[]
for i in range(len(dict)):
k.append(dict['d'][i])
print k
预期输出:[[5.5, 42, 'p1'], [3, 17, 'p2'], [3, 8, 'p3'], [2.8, 3, 'p4']]
当前输出:[2.8, 3, 'p4', [5.5, 42, 'p1'], [3, 17, 'p2'], [3, 8, 'p3'], [...]]
请提出建议或至少指出我正确的方向。提前谢谢。
答案 0 :(得分:1)
只需使用index-access:
k = dict['d']
或者如果你想要一份清单:
k = dict['d'][:]
答案 1 :(得分:1)
我不确定您使用循环的原因,但您需要的值是d
中键 dict
的值。您可以像访问它一样访问它:
>>> my_dict = {'d':[[5.5,42,'p1'],[3,17,'p2'],[3,8,'p3'],[2.8,3,'p4']],'m':[[4.2,12,'p5'],[4.8,25,'p6'],[4.3,3,'p7'],[8.9,29,'p8']],'s':[[8.6,42,'p9'],[9.7,46,'p10']],'g':[[4.3,56,'p11'],[5.1,8,'p12']] }
>>> my_dict['d']
[[5.5, 42, 'p1'], [3, 17, 'p2'], [3, 8, 'p3'], [2.8, 3, 'p4']]
注意:不要使用dict
作为变量名,因为它是Python中的内置类型
答案 2 :(得分:-1)
正如您的词典现在所示,每个键已经是一个列表列表。正如丹尼尔指出的那样,每个关键点都指向它所引用的列表。
如果你要找的是你词典中所有列表的列表,你可以这样做:
>>> di = {'d':[[5.5,42,'p1'],[3,17,'p2'],[3,8,'p3'],[2.8,3,'p4']],'m':[[4.2,12,'p5'],[4.8,25,'p6'],[4.3,3,'p7'],[8.9,29,'p8']],'s':[[8.6,42,'p9'],[9.7,46,'p10']],'g':[[4.3,56,'p11'],[5.1,8,'p12']] }
>>> [value for value in di.values()]
[[[5.5, 42, 'p1'], [3, 17, 'p2'], [3, 8, 'p3'], [2.8, 3, 'p4']], [[4.2, 12, 'p5'], [4.8, 25, 'p6'], [4.3, 3, 'p7'], [8.9, 29, 'p8']], [[8.6, 42, 'p9'], [9.7, 46, 'p10']], [[4.3, 56, 'p11'], [5.1, 8, 'p12']]]