如果我遍历下面的字典列表
test_dict = {'key1': [{'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'},
{'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'}]}
print(type(test_dict.values()))
for value in test_dict.values() :
print('value is' , value)
输出为:
value is [{'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'}, {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'}]
我期望输出是:
value is {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'}
value is {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'}
我还尝试过显式地将字典添加到列表中:
values_list = []
values_list.append({'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'})
values_list.append({'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'})
test_dict = {'key1': values_list}
但是结果是一样的
如何创建一个字典,其中字典值是一个字典列表?
您的字典定义很好,但是您必须处理列表中的每个元素:
test_dict = {'key1': [{'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'},
{'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'}]
}
for value in test_dict.values(): # value is a list here
for element in value:
print('value is' , element)
输出:
value is {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'}
value is {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'}
试试这个,代码:
test_dict = {'key1': [{'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'},{'k2': 'f', 'k3':
'', 'k4': 'b', 'k5': 'Yes'}]}
for value in test_dict['key1'] :
print('value is' , value)
输出:
value is {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'No'}
value is {'k2': 'f', 'k3': '', 'k4': 'b', 'k5': 'Yes'}