使用fromkey和可变对象创建字典。一个惊喜

使用fromkey和可变对象创建字典。一个惊喜,第1张

使用fromkey和可变对象创建字典。一个惊喜

您的Python 2.6示例与以下示例等效,这可能有助于阐明:

>>> a = []>>> xs = dict.fromkeys(range(2), a)

结果字典中的每个条目都将引用同一对象。如您所见,使该对象发生变异的效果将在每个dict条目中可见,因为它是一个对象。

>>> xs[0] is a and xs[1] is aTrue

使用dict理解,或者如果您使用Python 2.6或更早版本并且没有字典理解,则可以通过使用

dict()
生成器表达式来获得dict理解行为:

xs = dict((i, []) for i in range(2))


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

原文地址: http://outofmemory.cn/zaji/5642813.html

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

发表评论

登录后才能评论

评论列表(0条)

保存