我该怎么追加?蟒蛇

Web*_*ter 2 python

.append 函数将元素添加到列表中.如何在列表中添加元素?相反?因此,索引零是新值,旧值在索引中向上移动?什么附加做

[a,b,c,d,e]
Run Code Online (Sandbox Code Playgroud)

我想要什么.

[e,d,c,b,a]
Run Code Online (Sandbox Code Playgroud)

非常感谢你.

kin*_*all 17

假设你有一个清单a,a = [1, 2, 3]

现在假设您想知道您可以对该列表执行哪些操作:

dir(a)
Run Code Online (Sandbox Code Playgroud)

嗯...想知道这件事有什么insert作用......

help(a.insert)
Run Code Online (Sandbox Code Playgroud)

在索引之前插入对象,你说呢?为什么,这听起来很像我想做的!如果我想在列表的开头插入一些东西,那将索引0 之前.我想插入什么对象?我们来试试7 ...

a.insert(0, 7)
print a
Run Code Online (Sandbox Code Playgroud)

好吧,看看列表前面的那个7!

TL; DR:dir()会让你看到可用的内容,help()会告诉你它是如何工作的,然后你就可以玩它并查看它的作用,或者谷歌一些文档,因为你现在知道你想要的功能是什么.


jam*_*lak 7

为此使用deque(双端队列)会更有效.在索引0处插入在列表中是非常昂贵的,因为每个元素必须被移位,这需要O(N)运行时间,在deque相同的操作中是O(1).

>>> from collections import deque
>>> x = deque()
>>> x.appendleft('a')
>>> x.appendleft('b')
>>> x
deque(['b', 'a'])
Run Code Online (Sandbox Code Playgroud)


Dan*_*een 6

使用 Python 的 listinsert命令并使用 0 作为位置值会将值插入到列表的头部,从而以相反的顺序插入:

your_list.insert(0, new_item)
Run Code Online (Sandbox Code Playgroud)


cdh*_*wie 5

用于somelist.insert(0, item)放置item在 的开头somelist,将所有其他元素下移。请注意,对于大型列表,这是一个非常昂贵的操作。如果您要向序列的两端添加或删除项目,请考虑使用双端队列。