按反向字符串排序列表

时间:2020-05-26 11:16:37

标签: python list

假设我有字符串列表s = ['az', 'by', 'cy', 'cx']

我想按每个字符串的反向对该列表进行排序。所需的排序:s = ['cx', 'by', 'cy', 'az']。 (注意:我不是在寻找s.sort(reverse=True)

实现此目标的一种方法是:

s = ['az', 'by', 'cy', 'cx']
reversed_s = [val[::-1] for val in s]
reversed_s.sort()
s = [val[::-1] for val in reversed_s]

很好。有用。但是我仍然对解决方案不满意(反向字符串,排序,反向返回)。有没有更好的方法来执行这种排序?

2 个答案:

答案 0 :(得分:2)

s = ['az', 'by', 'cy', 'cx']
s.sort(key=lambda x: x[::-1])

您可以将key传递给sort,这将用于重新映射每个值。如果您不想就地排序,sorted也一样。

答案 1 :(得分:1)

也许您想要这样的东西?

>>> s = ['az', 'by', 'cy', 'cx']
>>> s.sort(key=lambda x: x[::-1])
>>> s
['cx', 'by', 'cy', 'az']