假設我有一個元組列表如下:Python的 - 添加一個元組的元組的現有列表中的特定位置
listA = [ (B,2), (C,3), (D,4) ]
我想另一個多元組(E,1)
添加到這個列表。我怎樣才能做到這一點?
,更具體,我想這個元組列表中添加的第一個元組,這樣我得到:
newList = [ (E,1), (B,2), (C,3), (D,4) ]
我使用Python 2.7。
提前致謝!
假設我有一個元組列表如下:Python的 - 添加一個元組的元組的現有列表中的特定位置
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)
newList = listA
重要的是要記住,以及 - 作爲Padraic Cunningham指出 - 這樣做,兩個列表都引用同一個對象。如果您更改listA,您將更改newList。你可以做一些其他的事情讓一個新的對象:
newList = listA[:]
newList = list(listA)
要添加到這個開始你只是做
listA.insert(0, (E,1))
。
插入添加到列表的特定索引。
如果你將要附加到開頭的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
'newList'現在'None'因爲'插入()'修改原始'list'。 – TigerhawkT3
廢話,你說得對。 insert()的返回值爲None。如果你想在一個新的變量中獲得它,請在插入之後指定它! –
您現在有了對listA的引用,因此listA中的任何更改都會影響newList。 –