列表的拼接
加法运算符 + 也可以实现列表增加元素的目的,但不属于原地操作,而是返回新列表,涉及大量元素的复制,效率非常低。
而使用复合赋值运算符+=实现列表追加元素时属于原地操作,与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]]