.append
函数将元素添加到列表中。
如何在列表中添加元素?相反?因此,索引零是新值,旧值在索引中向上移动?
附加内容
[a,b,c,d,e]
我想要什么。
[e,d,c,b,a]
非常感谢。
答案 0 :(得分:17)
假设您有一个列表a
,a = [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)