精细化python-list

列表的拼接

    加法运算符 +  也可以实现列表增加元素的目的,但不属于原地操作,而是返回新列表,涉及大量元素的复制,效率非常低。

而使用复合赋值运算符+=实现列表追加元素时属于原地操作,与append()方法一样高效。
>>> x = [1, 2, 3]
>>> id(x)
157251848
>>> x = x + [4] #连接两个列表
>>> x
[1, 2, 3, 4]
>>> id(x) #内存地址发生改变
157297416
>>> x += [5] #为列表追加元素
>>> x
[1, 2, 3, 4, 5]
>>> id(x) #内存地址不变
157297416

     乘法运算符 * 可以用于列表和整数相乘,表示序列重复,返回新列表。

运算符*=也可以用于列表元素重复,属于原地操作

 >>> x
[1, 2, 3, 4, 5]

>>> x*3
[1, 2, 3, 4, 5,1, 2, 3, 4, 5,1, 2, 3, 4, 5]

>>>[ x]*3

[[1, 2, 3, 4, 5],[1, 2, 3, 4, 5],[1, 2, 3, 4, 5]]

 

原文地址:https://www.cnblogs.com/cjtds/p/12624803.html