如何创建字典值是字典列表的字典?

时间:2021-02-15 16:59:38

标签: python dictionary

如果我遍历下面的字典列表

  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}

但结果是一样的

如何创建字典值是字典列表的字典?

2 个答案:

答案 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'}