在Python中循环遍历整数列表与字典列表

时间:2019-08-18 11:37:09

标签: python list dictionary

我想知道为什么在python的for循环中更改变量会更改字典元素而不是列表? 换句话说,我想相互比较以下代码,为什么输出不同?

list1 = [10, 20]
for item in list1:
    item += 1
print(list1)
# Output: [10, 20]

dict = [{"Age":10}, {"Age":20}]
for item in dict:
    item["Age"] += 1
print(dict)
# Output: [{'Age': 11}, {'Age': 21}]

1 个答案:

答案 0 :(得分:2)

它不会更改,因为在列表的情况下,您更改了Fail的值,该值在python中是不变的,因此更改int不会影响它在列表中的原始值,而在第二种情况下,修改后的item对象是可变的,因此您所做的更改已应用于原始对象。例如,以下带有list的代码将起作用:

dict

输出:

  

[{'Age':1},{'Age':1}]