Python列表中的附加元素随其原始变量的变化而变化

Python列表中的附加元素随其原始变量的变化而变化,第1张

Python列表中的附加元素随其原始变量的变化而变化

您正在将对字典的引用添加到列表中,然后清除字典 本身 。这将删除字典的内容,因此对该字典的所有引用将显示该字典现在为空。

将其与创建两个指向同一词典的变量进行比较:

>>> a = {'foo': 'bar'}>>> b = a>>> b{'foo': 'bar'}>>> a.clear()>>> b{}

字典是可变的;您更改对象本身。

在循环中创建一个新字典,而不是清除并重用一个字典:

list_ = []for i in range(something):    dict_ = {}    get_values_into_dict(dict_)    list_.append(dict_)print list_

或者更好的是,

get_values_into_dict()
返回 一个字典来代替:

list_ = []for i in range(something):    dict_ = return_values_as_dict()    list_.append(dict_)print list_


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/5616873.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-15
下一篇 2022-12-15

发表评论

登录后才能评论

评论列表(0条)

保存