列表 += 元组与列表 = 列表 + 元组

Posted

技术标签:

【中文标题】列表 += 元组与列表 = 列表 + 元组【英文标题】:List += Tuple vs List = List + Tuple 【发布时间】:2012-10-31 05:50:42 【问题描述】:

假设我有这些任务:

points = []
point = (1, 2)

我怎么会这样做:

points += point

它工作得很好,并且给了我积分 = [1, 2]。 但是,如果我这样做:

points = points + point

它给了我一个 TypeError: can only concatenate list (not "tuple") to list。 不过,这些陈述不是一回事吗?

【问题讨论】:

【参考方案1】:

不同之处在于list += 等价于list.extend(),它接受任何可迭代并扩展列表,它作为一个元组是一个可迭代的。 (并就地扩展列表)。

另一方面,第二个将一个新列表分配给points,并尝试将一个列表连接到一个元组,但由于不清楚预期结果是什么(列表还是元组?),所以没有完成。

【讨论】:

以上是关于列表 += 元组与列表 = 列表 + 元组的主要内容,如果未能解决你的问题,请参考以下文章

元组与列表的区别

python_元组_元组与列表转换

python元组与列表的区别

3.python元组与列表

第八篇基本数据类型之列表元组与字典

元组和列表的区别