在Python中,我如何根据条件对两个项目列表进行排序:如果第一项不相等,则进行常规排序(基于第一项的值),如果第一项相等,则基于较大性进行排序的第二项(值越大,越优先):
这样的字典的键:
{(0, 3): (3, 8), (0, 11): (4, 4), (1, 4): (5, 32)}
然后应按以下顺序排序:
[(0, 11), (0, 3), (1, 4)]
答案 0 :(得分:3)
使用键功能反转第二个元素的排序:
d = {(0, 3): (3, 8), (0, 11): (4, 4), (1, 4): (5, 32)}
print(sorted(d.keys(), key=lambda tup: (tup[0], -tup[1]))) # note the minus
# [(0, 11), (0, 3), (1, 4)]