生成一个具有相同数字的数组

时间:2013-03-13 10:13:00

标签: python list

我想要一个大小为80的数组,并希望只用一个数字填充它。数字为1,所以[1,1,1,1,1,80 times]是否可以快速执行此操作?

3 个答案:

答案 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)