在Python中创建列表,并在一行中包含给定对象的多个副本

在Python中创建列表,并在一行中包含给定对象的多个副本,第1张

在Python中创建列表,并在一行中包含给定对象的多个副本

itertools.repeat()
是你的朋友。

L = list(itertools.repeat("a", 20)) # 20 copies of "a"L = list(itertools.repeat(10, 20))  # 20 copies of 10L = list(itertools.repeat(['x','y'], 20)) # 20 copies of ['x','y']

请注意,在第三种情况下,由于列表是通过引用引用的,因此更改列表中[‘x’,’y’]的一个实例将更改所有它们,因为它们均引用同一列表。

为了避免引用相同的项目,您可以改用理解来为每个列表元素创建新对象:

L = [['x','y'] for i in range(20)]

(对于Python 2.x,请使用

xrange()
代替以
range()
获得性能。)



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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存