我的问题与将两个列表基本排序在一起有点不同
请参见以下代码示例:
list1=[3,4,2,1,6,1,4,9,3,5,8]
list2=['zombie','agatha','young','old','later','world',
'corona','nation','domain','issue','happy']
srt=sorted(list(zip(list1,list2)),reverse=True)
print(srt)
结果是:
[(9, 'nation'), (8, 'happy'), (6, 'later'), (5, 'issue'),
(4, 'corona'), (4, 'agatha'), (3, 'zombie'), (3, 'domain'),
(2, 'young'), (1, 'world'), (1, 'old')]
问题:-正如我们所看到的,对于列表1中相同的值,列表2中的元素也按字母降序排列。如果我想按降序对列表1进行排序,然后按升序对列表2元素进行排序,列表1元素的值以某种简单的方式相同,该怎么办
这并不漂亮,但您可以执行“double”
sorted()
,首先是list2
值,然后是反向的list1
值:输出:
使用键函数
lambda k: (-k[0], k[1]))
:印刷品:
相关问题 更多 >
编程相关推荐