Python:反向列表顺序[重复]

Posted

技术标签:

【中文标题】Python:反向列表顺序[重复]【英文标题】:Python : Reverse Order Of List [duplicate] 【发布时间】:2012-11-11 22:04:38 【问题描述】:

可能重复:How can I reverse a list in python?

如何颠倒列表的顺序: 例如。我有lines.sort(key = itemgetter(2))

这是一个排序列表。如果我想要该列表完全按照它的顺序排列,但顺序相反,该怎么办?

【问题讨论】:

当将某物标记为重复时,提供指向其重复内容的链接很有用。这是此案例的链接:***.com/questions/3940128/… 【参考方案1】:
lines.sort(key=itemgetter(2), reverse=True)

或者如果你只是想反转列表

lines.reverse()

或者如果您想将列表复制到新的反向列表中

reversed(lines)

【讨论】:

最后一个例子返回一个可迭代的,而不是一个列表。您必须使用list(reversed(lines)) 才能再次成为列表。使用负步幅切片更容易:lines[::-1] 负步幅的好处是它也适用于其他类型:tuple, str ...【参考方案2】:

您是否要(就地)对列表进行排序,使最大的元素排在第一位,最小的元素排在最后(最大和“最小”由您的keycmp 函数确定)?如果是这样,请使用其他答案。 (如果你想排序不合适,请改用sorted)。

一种简单的方法来反转任何列表的顺序(不合适)是通过切片:

reverse_lst = lst[::-1]

请注意,这也适用于其他 sequence objects(tuplestr 立即浮现在脑海中)

【讨论】:

我认为“在排序时反转列表”的说法有点不清楚。 @gg.kaspersky -- 我已经编辑过了。这样更好吗? 我认为最好说它适用于任何序列,因为list 是Python 中的具体数据类型。 @martineau -- 添加了指向序列对象文档的链接。

以上是关于Python:反向列表顺序[重复]的主要内容,如果未能解决你的问题,请参考以下文章

python按自定义顺序排序字典列表[重复]

如何从 Python 列表中删除重复项并保持顺序? [复制]

Python 模块化 模块搜索顺序重复导入模块加载列表

python删除列表中的重复元素并保持相对顺序不变

Python基础(3) - 去掉列表或元组中的重复元素

Struts2迭代器按顺序反向排序列表