我有一个包含
[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)]
to
[('Yana', 'Anja', 10, 0),
('Kolia', 'Alexey', 10, 0),
('Vasia', 'Katia', 3, 0),
('Petia', 'Anja', 3, 0),
('Petia', 'Katia', 3, 0)]