在列表中添加元组元素

时间:2015-07-18 17:52:17

标签: python

<class 'list'>的{​​{1}}方法有助于在insert中添加预期输出((1,2), (3, 4))的元素lst

lst = [((1,2), (3, 4))]

lst = [] lst.insert(0, ((1,2), (3, 4))) lst.insert(1, ((5, 6), (7, 8))) 运算符不会给出相同的结果(+=)。

lst = [(1, 2), (3, 4)]

lst = [] lst += ((1,2), (3, 4)) 运算符内部调用+=方法。

为什么__iadd__不会以__iadd__ class <'list'>方法的方式添加元素?因为在我的合并排序代码中维护索引需要额外的名称 - 值对是一个很大的开销..

1 个答案:

答案 0 :(得分:1)

x += y,其中xy类似于列表,将创建一个新列表,其中y的内容与x的内容相连接。

由于您不希望将元组((1,2), (3, 4))内容附加到lst,而是希望将元组添加到列表中,你应该lst.append(((1,2), (3, 4)))代替。

>>> lst = []
>>> lst.append(((1, 2), (3, 4)))
>>> lst.append(((5, 6), (7, 8)))
>>> lst
[((1, 2), (3, 4)), ((5, 6), (7, 8))]