Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python—将元组添加到位于特定位置的现有元组列表中_Python_List_Python 2.7_Tuples - Fatal编程技术网

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

Python—将元组添加到位于特定位置的现有元组列表中,python,list,python-2.7,tuples,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 提前谢谢 listA.insert(index, item) 给你: listA.insert(0, ('E', 1)) 如果您想在新变量中使用它,请在插入后分配它(

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

listA = [ (B,2), (C,3), (D,4) ]
我想在此列表中添加另一个元组
(E,1)
。我该怎么做

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

newList = [ (E,1), (B,2), (C,3), (D,4) ]
我正在使用Python 2.7

提前谢谢

listA.insert(index, item)
给你:

listA.insert(0, ('E', 1))
如果您想在新变量中使用它,请在插入后分配它(感谢TigerHawk)

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

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

要添加到这个开头,您只需执行以下操作

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

Insert将添加到列表的特定索引


阅读文档:

如果您打算在开头追加一个,那么a将是一个更有效的结构:

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 

newList
现在是
None
,因为
insert()
修改了原始的
列表。insert()的返回值为
None
。如果你想在一个新的变量中赋值,就必须在插入后赋值!您现在有了对listA的引用,因此listA中的任何更改都将影响newList。
newList = [(E,1)] + listA