首页 >后端开发 >Python教程 >在Python中初始化空列表字典时如何避免共享列表引用?

在Python中初始化空列表字典时如何避免共享列表引用?

Linda Hamilton
Linda Hamilton原创
2024-11-26 05:43:09401浏览

How to Avoid Shared List References When Initializing Empty List Dictionaries in Python?

Python 中空列表字典的初始化

尝试使用 fromkeys 方法创建列表字典可能会导致意外行为,其中所有内容字典键在附加到一个键时会更新。这是因为 fromkeys 创建一个列表对象并将其作为所有键的值进行引用。

要解决此问题,请使用字典理解:

data = {k: [] for k in range(2)}

此理解创建一个新列表每个键的对象,确保每个键都有自己独立的列表。

或者,在 2.7 之前的 Python 版本中,使用传递给 dict 构造函数的列表理解:

data = dict([(k, []) for k in range(2)])

或者,在 Python 2.4-2.6 中,可以将生成器表达式传递给 dict:

data = dict((k, []) for k in range(2))

以上是在Python中初始化空列表字典时如何避免共享列表引用?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn