如果我遍历下面的字典列表
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}
但结果是一样的
如何创建字典值是字典列表的字典?
答案 0 :(得分:1)
你的字典定义没问题,但你必须处理列表中的每个元素:
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'}
答案 1 :(得分:0)
试试这个, 代码:
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'}