我该怎么追加?蟒蛇

时间:2012-06-12 22:32:23

标签: python

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

[a,b,c,d,e]

我想要什么。

[e,d,c,b,a]

非常感谢。

8 个答案:

答案 0 :(得分:17)

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

现在假设您想知道您可以对该列表做些什么:

dir(a)
嗯......想知道这个insert的东西是做什么的......

help(a.insert)

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

a.insert(0, 7)
print a

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

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

答案 1 :(得分:7)

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

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

答案 2 :(得分:4)

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

答案 3 :(得分:2)

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

your_list.insert(0, new_item)

答案 4 :(得分:2)

你可以做到

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

但插入方法也可以。

答案 5 :(得分:2)

lst=["a","b","c","d","e","f"]
lst_rev=[]
lst_rev.append(lst[::-1])
print(lst_rev)

答案 6 :(得分:0)

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

your_list = [x] + your_list

或:

your_list.insert(0, x)

答案 7 :(得分:0)

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

liste1 = [1,2,3,4,5]
liste2 = list()
for i in liste1:
    liste2.insert(0,i)