我该怎么追加?蟒蛇

问题描述 投票:2回答:7

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

[a,b,c,d,e]

我想要什么。

[e,d,c,b,a]

非常感谢你。

python
7个回答
17
投票

假设你有一个列表aa = [1, 2, 3]

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

dir(a)

嗯......想知道这个insert的东西是做什么的......

help(a.insert)

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

a.insert(0, 7)
print a

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

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


7
投票

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

>>> from collections import deque
>>> x = deque()
>>> x.appendleft('a')
>>> x.appendleft('b')
>>> x
deque(['b', 'a'])

4
投票

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


2
投票

你可以做

your_list=['New item!!']+your_list

但插入方法也可以。


2
投票

使用Python的列表insert命令,其中0为位置值,将值插入列表的头部,从而以相反的顺序插入:

your_list.insert(0, new_item)

0
投票

使用以下(假设x是您想要的前缀):

your_list = [x] + your_list

要么:

your_list.insert(0, x)

0
投票

这是一个如何以相反的顺序在列表中添加元素的示例:

liste1 = [1,2,3,4,5]
liste2 = list()
for i in liste1:
    liste2.insert(0,i)
© www.soinside.com 2019 - 2024. All rights reserved.