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

哈米德·纳西里

我想知道为什么在 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}]
英瓦尔

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

list = [{}, {}]
for item in list:
    item['Age'] = 1
print(list)

输出:

[{'年龄':1},{'年龄':1}]

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章