5

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

[a,b,c,d,e]

我想要什么。

[e,d,c,b,a]

非常感谢。

4

8 回答 8

22

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

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

dir(a)

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

help(a.insert)

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

a.insert(0, 7)
print a

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

TL;DR:dir()将让您查看可用的功能,help()向您展示它是如何工作的,然后您可以使用它并查看它的作用,或者谷歌搜索一些文档,因为您现在知道您想要的功能被称为什么。

于 2012-06-12T22:52:23.273 回答
10

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

>>> from collections import deque
>>> x = deque()
>>> x.appendleft('a')
>>> x.appendleft('b')
>>> x
deque(['b', 'a'])
于 2012-06-12T22:58:43.270 回答
4

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

于 2012-06-12T22:34:07.743 回答
3

使用 Python 的 listinsert命令和 0 作为位置值将在列表的头部插入值,因此以相反的顺序插入:

your_list.insert(0, new_item)
于 2012-06-12T22:34:01.557 回答
2

你可以做

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

但是插入方法也有效。

于 2012-06-12T22:50:32.473 回答
2
lst=["a","b","c","d","e","f"]
lst_rev=[]
lst_rev.append(lst[::-1])
print(lst_rev)
于 2020-04-03T06:27:55.443 回答
1

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

liste1 = [1,2,3,4,5]
liste2 = list()
for i in liste1:
    liste2.insert(0,i)
于 2019-02-06T15:21:43.830 回答
0

使用以下内容(假设 x 是您要添加的内容):

your_list = [x] + your_list

或者:

your_list.insert(0, x)
于 2017-07-10T13:52:38.960 回答