Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/335.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
带有dict的Python列表应该具有相同的键_Python - Fatal编程技术网

带有dict的Python列表应该具有相同的键

带有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':

我希望我的_列表应该有一个具有相同键但具有多个值的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': '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]