可以通过两种方式添加到列表:
(一)
mat = []
for i in range(10):
mat.append(i)
或者
(二)
^{pr2}$从official Python documentation:
The method append() shown in the example is defined for list objects; it adds a new element at the end of the list. In this example it is equivalent to result = result + [a], but more efficient.
文件表明,方法1更有效。为什么会这样?在
方法
append
更快,因为它不使用任何类型转换。在尽管使用
.append
需要一个方法调用,但它实际上比使用增广赋值运算符+=
略为有效。在但是使用
.append
还有一个更好的理由:当要附加到的列表不在本地范围内时,可以这样做,因为它只是在外部范围内调用一个对象的方法,而不能对不在本地范围内的对象执行赋值,除非将它们声明为全局(或非本地),通常最好避免的做法。在下面是一个例子:
输出
^{pr2}$当然,我们可以将
mat
作为参数传递给函数:输出
^{较慢的一个原因是它必须在每个循环上构造一个新的
[i]
列表。在FWIW,字节码如下:
上面的字节码转储是使用dis模块生成的:
第二个比较慢,因为它创建了一个新列表(这有点慢)。在
相关问题 更多 >
编程相关推荐