Python中如何倒置list列表

如果一个 list 的元素都是随机字符串,如何对 list 倒置,注意没有排序哦, 只是顺序换了?实现越短越好
Python中如何倒置list列表

10 回复

啥意思[::-1]不行么


在Python里倒置列表,最直接的方法是用切片操作 [::-1]。它会创建一个原列表的浅拷贝反向排列。

my_list = [1, 2, 3, 4, 5]
reversed_list = my_list[::-1]
print(reversed_list)  # 输出: [5, 4, 3, 2, 1]

如果你想原地修改列表(不创建新列表),可以用 list.reverse() 方法:

my_list = [1, 2, 3, 4, 5]
my_list.reverse()
print(my_list)  # 输出: [5, 4, 3, 2, 1]

另外,内置函数 reversed() 会返回一个反向迭代器,适合用在循环或需要迭代器的场景,搭配 list() 可以转成列表:

my_list = [1, 2, 3, 4, 5]
reversed_iterator = reversed(my_list)
reversed_list_from_iterator = list(reversed_iterator)
print(reversed_list_from_iterator)  # 输出: [5, 4, 3, 2, 1]

总结:根据是否需要新列表或原地修改来选方法。

list 不是有 reverse 方法吗

>>> a = [1,2,4,3,4]
>>> a.reverse()
>>> a
[4, 3, 4, 2, 1]
>>> list(reversed(a))
[1, 2, 4, 3, 4]
>>> a[::-1]
[1, 2, 4, 3, 4]
>>>

我觉得楼主说的是数据结构里的 list 吧

请楼使用人类易于易于理解的语言说明一下倒置代表的寒意。

数据结构挂科生

确实挂科了,层主

sorry,语文也挂了…+_+

抱歉各位,py 基础不扎实,专门来碰钉子,我在 b = a.reverse()了一个 list 后,发现 b 是 none.
总结了下,reverse()方法会修改原来的对象,[::-1]切片可以得到新的对象。

回到顶部