我有大约40个条目的list
。我经常想要将一个项目附加到列表的开头(ID为0),并希望delete
列表中的last
条目(ID为40)。
我最好怎么做?
like:
(包含5个条目的示例)
[0] = "herp"
[1] = "derp"
[2] = "blah"
[3] = "what"
[4] = "da..."
添加“wuggah”并删除最后它应该是:
[0] = "wuggah"
[1] = "herp"
[2] = "derp"
[3] = "blah"
[4] = "what"
或附加一个并先删除。
我不希望最终手动将所有条目一个接一个地移动到下一个id。
答案 0 :(得分:11)
使用insert()
将项目放在列表的开头:
myList.insert(0, "wuggah")
使用pop()
删除并返回列表中的项目。弹出没有参数弹出列表中的最后一项
myList.pop() #removes and returns "da..."
答案 1 :(得分:7)
>>> import collections
>>> q = collections.deque(["herp", "derp", "blah", "what", "da.."])
>>> q.appendleft('wuggah')
>>> q.pop()
'da..'
>>> q
deque(['wuggah', 'herp', 'derp', 'blah', 'what'])
答案 2 :(得分:7)
In [21]: from collections import deque
In [22]: d = deque([], 3)
In [24]: for c in '12345678':
....: d.appendleft(c)
....: print d
....:
deque(['1'], maxlen=3)
deque(['2', '1'], maxlen=3)
deque(['3', '2', '1'], maxlen=3)
deque(['4', '3', '2'], maxlen=3)
deque(['5', '4', '3'], maxlen=3)
deque(['6', '5', '4'], maxlen=3)
deque(['7', '6', '5'], maxlen=3)
deque(['8', '7', '6'], maxlen=3)
答案 3 :(得分:1)
这是一个单行,但它可能没有其他一些效率高......
myList=["wuggah"] + myList[:-1]
另请注意,它会创建一个新列表,可能不是您想要的...
答案 4 :(得分:1)
另一种方法
L = ["herp", "derp", "blah", "what", "da..."]
L[:0]= ["wuggah"]
L.pop()