Python:将数据添加到列表

时间:2018-08-26 18:37:08

标签: python python-2.7 list

我正在学习列表,并尝试创建列表并向其中添加数据。

mylist=[]
mylist[0]="hello"

这会产生错误。

为什么我们不能像在javascript中那样将成员添加到这样的列表中。 由于这些也是动态的,因此我们可以向其中添加任意数量的成员和任何数据类型。

在javascript中有效:

var ar=[];
ar[0]=333;

为什么这在Python中起作用,而我们只使用append()添加到列表中。

2 个答案:

答案 0 :(得分:1)

mylist[0] = 'hello'mylist.__setitem__(0, 'hello')的语法糖。

根据object.__setitem__(self, key, value)的{​​{3}}:

  

对于不正确的键值,应引发与相同的例外。   __getitem__()方法。

__getitem__的{​​{3}}具体说明了导致IndexError的原因:

  

如果该序列的索引集之外的值(任何   负值的特殊解释),IndexError应该是   提出。

关于此设计决定的目的,可以写几章来解释为什么list是以此方式设计的。在判断其效用之前,您应该熟悉Python列表索引和切片。

答案 1 :(得分:0)

Python中的列表与C之类的语言的数组本质上是不同的。您不会创建固定大小的列表,也不会在其中分配元素给索引。相反,您可以创建一个空列表并向其中添加元素,或者使用列表理解从一种表达式类型生成列表。

在您的情况下,您想添加到末尾,因此必须使用.append方法:

mylist.append('hello')
#["hello"]

还有一个列表理解的例子:

squares = [x**2 for x in range(10)]
#[1,4,9,16,25,36,49,64,81,100]