【发布时间】:2018-12-19 23:00:47
【问题描述】:
我有一个包含 [name, surname, int1, int2] 元素的数组,我需要按以下顺序对其进行排序:
int1(递减)。如果
int1相同,则按“颠倒”字母顺序按name排序。如果
name相同,则按surname字母顺序排列。
所以我有这个:
print(sorted(a, key = lambda x: [-int(x[2]), x[0], x[1]]))
我不知道如何以反向字母顺序对x[0] 进行排序
-x[0], x[0][::-1] 不适合我。
例子:
[('Petia', 'Anja', 3, 0),
('Vasia', 'Katia', 3, 0),
('Petia', 'Katia', 3, 0),
('Kolia', 'Alexey', 10, 0),
('Yana', 'Anja', 10, 0)]
到
[('Yana', 'Anja', 10, 0),
('Kolia', 'Alexey', 10, 0),
('Vasia', 'Katia', 3, 0),
('Petia', 'Anja', 3, 0),
('Petia', 'Katia', 3, 0)]
【问题讨论】:
-
您是指颠倒的字母顺序,如 z->a,还是颠倒的字母顺序,如颠倒字符串中的字母顺序?
-
@user3483203 z->是的。我添加了一些示例
标签: python string list sorting alphabetical-sort