列表与元组的拼接
问题:
L = [1,2,3]
T = (4,5,6)
#如何将两个容器拼接成一个列表[1,2,3,4,5,6]?
对于新手来说,第一反应肯定是for语句遍历T,再将元素逐个加到L后面
但是python讲求简洁,有没有一行代码搞定(装逼)的方法呢?
如果是个老鸟,肯定会想到下面的方法
L = L + list(T)
先用list转换成列表,然后拼接起来,恩.果然简洁了不少
你以为这就结束了?怎么可能!!这种常规做法怎么拿来秀?
更秀的当然是用下面的做法啦
L += T
WTF?不同类型的数据也能相加?
当然不是了!!!
在这里'L += T'不等于'L = L + T'
后者解释器会报错,提示数据类型不一致无法相加
前者则可以正常执行,这是为什么呢?
"在+=左侧为列表时,用于原列表与右侧可迭代对象进行拼接,生成新的列表"
怎么样,get到了吗?右侧只要是可迭代对象都可以哦
我们再来实验一下
>>> L = [1,2,3]
>>> T = (4,5,6)
>>> S = 'ABC'
>>> L += T
>>> L
[1, 2, 3, 4, 5, 6]
>>> L += S
>>> L
[1, 2, 3, 4, 5, 6, 'A', 'B', 'C']
怎么样,又学了一手吧(又找到了装逼的方法)