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

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

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

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

【问题讨论】:

标签: python string list class methods


【解决方案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 objectstuplestr 立即浮现在脑海中)

【讨论】:

  • 我认为“在排序时反转列表”的说法有点不清楚。
  • @gg.kaspersky -- 我已经编辑过了。这样更好吗?
  • 我认为最好说它适用于任何序列,因为list 是Python 中的具体数据类型。
  • @martineau -- 添加了指向序列对象文档的链接。
猜你喜欢
  • 2018-10-13
  • 2016-06-29
  • 1970-01-01
  • 2020-07-29
  • 2022-09-25
  • 2020-12-05
  • 1970-01-01
  • 2018-11-25
  • 2012-09-08
相关资源
最近更新 更多