我彻底搜查但找不到与此具体相关的任何内容。我有一个清单:
a = [two, three, one]
我想将one
移到前面,所以它变为:
a = [one, two, three]
问题是,它可能是列表中的任意数量。假设无法知道是否会有50个项目或3个。
答案 0 :(得分:24)
答案 1 :(得分:12)
-1
索引与最后一项有关。
a = a[-1:] + a[:-1]
这适用于列表中的任意数量的元素。
答案 2 :(得分:5)
您可以使用以下代码:
a.insert(0, a.pop())
答案 3 :(得分:1)
如果要将列表的第一项移至最后,可以使用此 -
lst=['one','two','three']
lst.insert(len(lst),lst.pop(0)) # result ['two','three','one']
答案 4 :(得分:0)
a = ['two', 'three', 'one']
a = a[-1:] + a[0:-1]
print a
a = ['two', 'three', 'one']
a[0:0] = a[-1:]
del a[-1]
print a
我更喜欢第二种方式,因为操作已经到位,而第一种方式是创建新列表
答案 5 :(得分:0)
最好的方法就是表示:
>>> a = ["two","three","one"]
>>> a.insert(0,a.pop())
>>> a
['one', 'two', 'three']
但是,如果我应该做一些原创的话,我会做到这一点:
>>> a = ["two","three","one"]
>>> a = [a.pop()] + a
>>> a
['one', 'two', 'three']
最后一次锻炼,这个:
>>> a = ["two","three","one"]
>>> a = [a[-1]] + a[:-1]
>>> a
['one', 'two', 'three']