假设我有一个元组列表如下:
listA = [ (B,2), (C,3), (D,4) ]
我想在此列表中添加另一个元组(E,1)
。我怎么能这样做?
更具体地说,我想将这个元组添加为列表中的第一个元组,以便我得到:
newList = [ (E,1), (B,2), (C,3), (D,4) ]
我正在使用Python 2.7。
提前致谢!
答案 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))
。
插入添加到列表的特定索引。
答案 2 :(得分:2)
listA.insert(index, item)
对你:
listA.insert(0, ('E', 1))
如果您想在新变量中使用它,请在插入后指定它(感谢TigerHawk)
newList = listA
要记住的重要事项 - 正如Padraic Cunningham指出的那样 - 这有两个列表引用相同的对象。如果您更改listA,您将更改newList。您可以通过执行其他操作来创建新对象:
newList = listA[:]
newList = list(listA)