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】:
您是否要(就地)对列表进行排序,使最大的元素排在第一位,最小的元素排在最后(最大和“最小”由您的key
或cmp
函数确定)?如果是这样,请使用其他答案。 (如果你想排序不合适,请改用sorted
)。
一种简单的方法来反转任何列表的顺序(不合适)是通过切片:
reverse_lst = lst[::-1]
请注意,这也适用于其他 sequence objects(tuple
和 str
立即浮现在脑海中)
【讨论】:
我认为“在排序时反转列表”的说法有点不清楚。 @gg.kaspersky -- 我已经编辑过了。这样更好吗? 我认为最好说它适用于任何序列,因为list
是Python 中的具体数据类型。
@martineau -- 添加了指向序列对象文档的链接。以上是关于Python:反向列表顺序[重复]的主要内容,如果未能解决你的问题,请参考以下文章