22

假设我有这些任务:

points = []
point = (1, 2)

我怎么会这样做:

points += point

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

points = points + point

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

4

1 回答 1

23

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

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

于 2012-11-11T16:19:06.253 回答