繁体   English   中英

从字典中检索列表

[英]Retrieving a list from a dictionary

我有清单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

但这没有用。 我该如何解决?

您可以使用列表索引来访问它

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已经是一个列表。

您只需执行以下操作即可解决此问题:

d = mydicts[0]

这将从mydicts返回第一个值,该值恰好是您想要的。

可以通过检索数组中的第一个(也是唯一的)元素来获得所需的内容(这已经是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},
}

暂无
暂无

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

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