diction_a = {'x': {'zebra':'white', 'raptors':'bosh', 'teams' : [{'a': 0, 'b': '123456', 'c': 1, 'd': 'xuix'}, {'a': 0, 'b': '234567', 'c': 1, 'd': 'lebron?', 'owner': 'heat'}, {'a': 0, 'b': '7890324', 'c': 1, 'd': 'durant'}, ..{many more with similar format}]
所以我给了diction_a作为字典,但是我需要从列表中的多个字典中提取'团队'中'b'的值。我在下面有这个代码,但是当我打印list_of_b时它是一个空列表。
search = diction_a ['x']['teams']
list_of_b = [a.get('b') for a in search if 'b' in a]
答案 0 :(得分:0)
print [val['b'] for x in diction_a.values() for val in x['teams'] ]
输入:
diction_a = {'x': {'zebra':'white', 'raptors':'bosh','teams' : [{'a': 0, 'b': '123456', 'c': 1, 'd': 'xuix'}, {'a': 0, 'b': '234567', 'c': 1, 'd': 'lebron?', 'owner': 'heat'},{'a': 0, 'b': '7890324', 'c': 1, 'd': 'durant'}] } }
输出:
['123456', '234567', '7890324']
答案 1 :(得分:-1)
您应首先确认您的数据结构是否正确,这是一个使用您的代码的工作示例:
diction_a = {
'x': {
'zebra': 'white',
'raptors': 'bosh',
'teams': [
{
'a': 0,
'b': '123456',
'c': 1,
'd': 'xuix'
}, {
'a': 0,
'b': '234567',
'c': 1,
'd': 'lebron?',
'owner': 'heat'
}, {
'a': 0,
'b': '7890324',
'c': 1,
'd': 'durant'
}
]
}
}
search = diction_a['x']['teams']
list_of_b = [a.get('b') for a in search if 'b' in a]
print list_of_b