带有dict的Python列表应该具有相同的键
我希望我的_列表应该有一个具有相同键但具有多个值的dict带有dict的Python列表应该具有相同的键,python,Python,我希望我的_列表应该有一个具有相同键但具有多个值的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) 输出: [{'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}, {'Cidr':
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)
输出:
[{'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}, {'Cidr': '5'}]
预期产出应为:
[{'Cidr': '1'}, {'Cidr': '2'}, {'Cidr': '3'}, {'Cidr': '4'}, {'Cidr': '5'}]
试试这个
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)
试着使用一种新的方法
您的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)
这样,数组中的每个元素都有自己的字典。您应该在每次迭代中创建一个新的dict,而不是将同一dict插入5次。您的dict只存储上次更新的值。这是一种很好的方法,但它不能解释问题或帮助OP学习。如何将[{'Cidr':'1'},{'Cidr':'2'},{'Cidr':'3'},{'Cidr':'4'},{'Cidr':'5'}]替换为[{'Cidr:'1'},{'Cidr:'2'},{'Cidr:'3'},{'Cidr:'4'},{'Cidr:'5'}]我没有看到listmy_list=str(my_list)的replace方法
old_list = ['1','2','3','4','5']
my_list = [{'Cidr': i} for i in old_list]
old_list = ['1','2','3','4','5']
my_list = [{'Cidr': i} for i in old_list]