2015-06-05 21 views

回答

2
listA.insert(index, item) 

對於你:

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

如果你想在你的新的變量,它分配之後插入(感謝TigerHawk)

newList = listA 

重要的是要記住,以及 - 作爲Padraic Cunningham指出 - 這樣做,兩個列表都引用同一個對象。如果您更改listA,您將更改newList。你可以做一些其他的事情讓一個新的對象:

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

'newList'現在'None'因爲'插入()'修改原始'list'。 – TigerhawkT3

+0

廢話,你說得對。 insert()的返回值爲None。如果你想在一個新的變量中獲得它,請在插入之後指定它! –

+1

您現在有了對listA的引用,因此listA中的任何更改都會影響newList。 –

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