所以我遇到了一些比较奇怪的东西,想问一下是否有人知道为什么会出现这种情况。
列表中存在一些数据,我们希望在元组中添加元组中的所有值(如list.extend
中所示)
>>> data = [0,1,2,3,4]
>>> data += (21,22,23) # all is well
>>> print(data)
[0, 1, 2, 3, 4, 21, 22, 23]
也
>>> data = [0,1,2,3,4]
>>> data.extend( (21,22,23) ) # all is well
>>> print(data)
[0, 1, 2, 3, 4, 21, 22, 23]
然而
>>> data = [0,1,2,3,4]
>>> data = data + (21,22,23)
TypeError: can only concatenate list (not "tuple") to list
这两个在我看来是相同的操作,但后者失败了。我从中得到的是+=
使用extend
,而后者则不然,但就是那样。
有人可以解释这些操作之间的区别,还有什么更有趣的原因?
这似乎发生在2.7.3和3.2.1
中