我想从字典词典中获取一个名单列表......
list = {'1':{'name':'fred'}, '2':{'name':'john'}}
# this code works a-ok
for key, value in list.items():
names = []
for key, value in list.items():
names.append(value['name'])
# and these consecutive comprehensions also work...
keys = [value for key, value in list.items()]
names = [each['name'] for each in keys]
Run Code Online (Sandbox Code Playgroud)
但最后两个如何合并?
>>> d = {'1':{'name':'fred'}, '2':{'name':'john'}}
Run Code Online (Sandbox Code Playgroud)
您可以对列表推导使用以下修改
>>> [value.get('name') for key, value in d.items()]
['john', 'fred']
Run Code Online (Sandbox Code Playgroud)
虽然在这种情况下,你不需要key任何东西,所以你可以这样做
>>> [value.get('name') for value in d.values()]
['john', 'fred']
Run Code Online (Sandbox Code Playgroud)