在一定大小的python中创建一个空列表

问题:

我想创建一个可以容纳10个元素的空列表(或者最好的方法)。
之后,我想在该列表中分配值,例如,应该显示0到9:

s1 = list();
for i in range(0,9):
   s1[i] = i

print  s1

但是当我运行这个代码时,它会产生一个错误,或者在另一种情况下它只显示[](空)。
有人可以解释为什么吗

回答:

您不能分配到像lst[i] = something的列表。你需要使用append。 lst.append(something)
(如果您使用字典,可以使用分配符号)。
创建一个空列表:

>>> l = [None] * 10
>>> l
[None, None, None, None, None, None, None, None, None, None]

range(x)从[0,1,2,… x-1]创建一个列表,

# 2.X only. Use list(range(10)) in 3.X.
>>> l = range(10)
>>> l
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

使用函数创建列表:

>>> def display():
...     s1 = []
...     for i in range(9): # This is just to tell you how to create a list.
...         s1.append(i)
...     return s1
... 
>>> print display()
[0, 1, 2, 3, 4, 5, 6, 7, 8]

列表理解(使用正方形,因为范围你不需要这么做,你可以返回range(0,9)):

>>> def display():
...     return [x**2 for x in range(9)]
... 
>>> print display()
[0, 1, 4, 9, 16, 25, 36, 49, 64]

 
 
Code问答: http://codewenda.com/topics/python/
Stackoverflow: Create an empty list in python with certain size

*转载请注明本文链接以及stackoverflow的英文链接

发表评论

电子邮件地址不会被公开。 必填项已用*标注

50 + = 53