我最近练习python。几天后我的剧本停了下来,因为我在一个问题上挣扎。 我想按两个共同的值对项目进行排序。像一条链子。你可以看到更低的。
我有什么:
dic= {'A': [62, 17], 'B': [59, 60], 'C': [60, 61], 'D': [57, 58], 'E': [61, 62], 'F': [58, 59]}
我想要的是什么:
dic={'A': [62, 17], 'E': [31, 62],'C': [60, 31],'B': [3, 60],'F': [58, 3],'D': [57, 58]}
清楚地看到:
'A': [62, 17]
'E': [*31*, 62]
'C': [60, *31*]
'B': [3, 60]
'F': [58, 3]
'D': [57, 58]
有一种简单的方法可以对它们进行排序吗?如果主题已经存在, 你能给我发链接吗?我还没有找到它。 先感谢您。 NB。在所有情况下,我知道链的第一个和最后一个值(17和57)
答案 0 :(得分:1)
鉴于其他人对字典顺序的说法以及违反海报希望有字典,我会返回一个排序列表。 我在In Python, how do I index a list with another list?
使用了接受的答案d= {'A': [62, 17], 'B': [59, 60], 'C': [60, 61], 'D': [57, 58], 'E': [61, 62], 'F': [58, 59]}
myList = [max(value) for key,value in d.items()]
print(myList)
myIndex = sorted(range(len(myList)),key=lambda x:myList[x],reverse=True)
L = [(key,value) for key,value in d.items()]
[L[i] for i in myIndex]
答案 1 :(得分:0)