我有字典:
teamDictionary = {
1: {'name': 'Bob', 'team': 'A', 'status': 'Leave'},
2: {'name': 'George', 'team': 'C', 'status': 'Training'},
3: {'name': 'Sam', 'team': 'B', 'status': 'Travel'},
4: {'name': 'Phil', 'team': 'A', 'status': 'Leave'},
5: {'name': 'Georgia', 'team': 'C', 'status': 'Training'}
}
我需要得到数组的名称:
['Bob','George','Sam','Phil','Georgia']
我该如何解决我的问题?
使用列表推导式可以
- 获取字典中的值
- 对于每个值,得到
name
TeamDictionary = {
1: {'name': 'Bob', 'team': 'A', 'status': 'Leave'},
2: {'name': 'George', 'team': 'C', 'status': 'Training'},
3: {'name': 'Sam', 'team': 'B', 'status': 'Travel'},
4: {'name': 'Phil', 'team': 'A', 'status': 'Leave'},
5: {'name': 'Georgia', 'team': 'C', 'status': 'Training'}
}
print([x['name'] for x in TeamDictionary.values()])
> ['Bob', 'George', 'Sam', 'Phil', 'Georgia']
可以:
names = [value['name'] for key, value in teamDictionary.items()]
您可以使用数组推导式轻松地在一行中完成此操作。
names = [item['name'] for item in teamDictionary.values()]
您可以遍历字典键,并且对于每个项,您可以'取' name属性,如:
names = [teamDictionary[key]['name'] for key in teamDictionary]