Python - 将元组添加到特定位置的现有元组列表中

时间:2015-06-05 21:12:09

标签: python list python-2.7 tuples

假设我有一个元组列表如下:

listA = [ (B,2), (C,3), (D,4) ]

我想在此列表中添加另一个元组(E,1)。我怎么能这样做?

更具体地说,我想将这个元组添加为列表中的第一个元组,以便我得到:

newList = [ (E,1), (B,2), (C,3), (D,4) ]

我正在使用Python 2.7。

提前致谢!

3 个答案:

答案 0 :(得分:4)

如果您要在开头附加collections.deque将是一个更有效的结构:

from collections import deque

deq = deque([("B",2), ("C",3), ("D",4) ])

deq.appendleft(("E",1))

print(deq)
deque([('E', 1), ('B', 2), ('C', 3), ('D', 4)])

追加到双端队列的开头是0(1)

如果您真的想要一个新列表并保留旧列表,您可以简单地:

newList = [(E,1)] + listA 

答案 1 :(得分:3)

要添加到此开头,您只需执行

listA.insert(0, (E,1))

插入添加到列表的特定索引。

阅读文档:https://docs.python.org/2/tutorial/datastructures.html

答案 2 :(得分:2)

listA.insert(index, item)

对你:

listA.insert(0, ('E', 1))

如果您想在新变量中使用它,请在插入后指定它(感谢TigerHawk)

newList = listA

要记住的重要事项 - 正如Padraic Cunningham指出的那样 - 这有两个列表引用相同的对象。如果您更改listA,您将更改newList。您可以通过执行其他操作来创建新对象:

newList = listA[:]
newList = list(listA)