python中的零列表

如何创建一个只包含0的list ?我希望能够为range(10)中的每个int创建一个0 list

例如,如果范围内的int4,我将得到:

[0,0,0,0]

7:

[0,0,0,0,0,0,0]
714886 次浏览

创建所有值都相同的列表最简单的方法是将一个单元素列表乘以n

>>> [0] * 4
[0, 0, 0, 0]

对于你的循环:

for i in range(10):
print [0] * i

zeros=[0]*4

你可以用任何你想要的数字替换上面例子中的4

zlists = [[0] * i for i in range(10)]

zlists[0]是0个0的列表,zlists[1]是1个0的列表,zlists[2]是2个0的列表,等等。

如果你想要一个函数在列表中返回任意数量的0,试试这个:

def make_zeros(number):
return [0] * number


list = make_zeros(10)


# list now contains: [0, 0, 0, 0, 0, 0, 0, 0, 0, 0]

下面是xrange方法:

list(0 for i in xrange(0,5))
$ python3
>>> from itertools import repeat
>>> list(repeat(0, 7))
[0, 0, 0, 0, 0, 0, 0]
#add code here to figure out the number of 0's you need, naming the variable n.
listofzeros = [0] * n

如果你更喜欢把它放在函数中,只需放入该代码并添加return listofzeros

看起来是这样的:

def zerolistmaker(n):
listofzeros = [0] * n
return listofzeros

样例输出:

>>> zerolistmaker(4)
[0, 0, 0, 0]
>>> zerolistmaker(5)
[0, 0, 0, 0, 0]
>>> zerolistmaker(15)
[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]
>>>