我的列表mydicts = []
包含
[{'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0} }]
然而,我试图以这种格式获取它,以便我执行一些操作:
d = {'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0} }
我试过这个
sm_list = list(mydicts)
d = sm_list
但它没有用。我该如何解决?
答案 0 :(得分:4)
您只需使用list indices:
即可访问它my_dicts = [{'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0} }]
d = my_dicts[0]
注意:
[...]
的正确名称是列表,而不是数组。
访问my_dicts[0]
,即可访问第一个元素。使用my_dicts[1]
,您将访问第二个元素。等等。
执行list(mydicts)
时,由于my_dicts
已经是列表,因此无法生效。
答案 1 :(得分:2)
您可以通过以下方式解决此问题:
d = mydicts[0]
这将返回mydicts
中的第一个值,这正是您想要的。
答案 2 :(得分:1)
你可以通过检索数组中的第一个(也是唯一的)元素来获得你想要的东西 - 这已经是Python所谓的list
- 因为它正是你所寻求的。列表/数组中的第一个元素是索引为0的元素。
mydicts = [{'Frank': {'Jack': 0, 'Kevin': 0, 'Sam': 0},
'Sam': {'Frank': 0, 'Jack': 0, 'Kevin': 0},
'Kevin': {'Frank': 0, 'Jack': 0, 'Sam': 0},
'Jack': {'Frank': 0, 'Kevin': 0, 'Sam': 0},}]
d = mydicts[0]
print "d's contents: {"
for k, v in d.iteritems():
print ' {}: {},'.format(k, v)
print '}'
输出:
d's contents: {
Frank: {'Sam': 0, 'Jack': 0, 'Kevin': 0},
Sam: {'Frank': 0, 'Jack': 0, 'Kevin': 0},
Kevin: {'Frank': 0, 'Jack': 0, 'Sam': 0},
Jack: {'Frank': 0, 'Sam': 0, 'Kevin': 0},
}