gpt4 book ai didi

Python:将项目追加到列表N次

转载 作者:IT老高 更新时间:2023-10-28 21:41:41 26 4
gpt4 key购买 nike

这似乎是 Python 的捷径。我想将一个项目附加到列表 N 次,有效地这样做:

l = []
x = 0
for i in range(100):
l.append(x)

在我看来,应该有一个“优化”的方法,比如:

l.append_multiple(x, 100)

有吗?


如果你想从另一个序列中追加元素(而不是重复相同的值,你可以直接用那个序列.extend。见How to append to the end of an empty list?

最佳答案

对于不可变数据类型:

l = [0] * 100
# [0, 0, 0, 0, 0, ...]

l = ['foo'] * 100
# ['foo', 'foo', 'foo', 'foo', ...]

对于通过引用存储并且您可能希望稍后修改的值(如子列表或字典):

l = [{} for x in range(100)]

(第一种方法仅适用于常量值(如整数或字符串)的原因是因为在使用 <list>*<number> 语法时只做浅拷贝,因此如果你做了类似 [{}]*100 的操作,你最终会得到 100 个对同一个字典的引用 - 所以更改其中一个会改变它们。由于 int 和字符串是不可变的,这对它们来说不是问题。)

如果要添加到现有列表,可以使用 extend()该列表的方法(结合通过上述技术生成要添加的事物列表):

a = [1,2,3]
b = [4,5,6]
a.extend(b)
# a is now [1,2,3,4,5,6]

关于Python:将项目追加到列表N次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4654414/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com