我想要一个大小为80
的数组,并希望只用一个数字填充它。数字为1
,所以[1,1,1,1,1,80 times]
是否可以快速执行此操作?
答案 0 :(得分:3)
这样可以解决问题:
lst = [1] * 80
请注意,对于可变对象(例如列表),执行此操作将创建对同一列表的多个引用,因此当您更改其中一个列表时,您将更改所有其他列表。使用诸如整数,字符串等不可变对象,这将完美地运行。
使用可变对象,您可以这样做:
lst = [[] for i in range(80)] # or xrange in Python 2
这将创建80个单独的列表。
答案 1 :(得分:1)
由于整数是不可变的,因此可以安全地执行此操作:
[1] * 80
答案 2 :(得分:0)
你也可以这样做:
buildList = lambda val, size: [val for _ in xrange(size)]
buildList(1, 80)