我希望my_list应该有一个具有相同键但具有多个值的dict
my_list = []
my_dict = {}
old_list = ['1','2','3','4','5']
for i in old_list:
my_dict['Cidr'] = i
my_list.append(my_dict)
print(my_list)
Run Code Online (Sandbox Code Playgroud)
输出:
[{'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}]
Run Code Online (Sandbox Code Playgroud)
预期产量应为:
[{'Cidr': '1'}, {'Cidr': '2'}, {'Cidr': '3'}, {'Cidr': '4'}, {'Cidr': '5'}]
Run Code Online (Sandbox Code Playgroud)
你的dict变异了 - 你只有一个dict和每个循环你只需改变键'Cidr'的值.该数组包含对同一个dict的5个引用.
你需要做的是每次循环时创建一个新的dict:
my_list = []
old_list = ['1','2','3','4','5']
for i in old_list:
my_dict = {}
my_dict['Cidr'] = i
my_list.append(my_dict)
print(my_list)
Run Code Online (Sandbox Code Playgroud)
这样,数组中的每个元素都将拥有自己的字典.