在Python字典中按两个值排列项目

在Python字典中按两个值排列项目,python,sorting,dictionary,items,Python,Sorting,Dictionary,Items,我最近练习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

我最近练习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]
有一种简单的方法对它们进行排序吗?如果主题已经存在, 你能把链接发给我吗。我还没找到。 先谢谢你。
注意。在所有情况下,我都知道链的第一个和最后一个值(17和57)

鉴于其他人对字典顺序的看法,以及违反了想要拥有字典的愿望,我返回一个排序列表。 我当时使用了公认的答案


事实上,我不需要一本新字典。而是按项的公共值排序的列表。 它一定是这样的:
list=[17,62,32,60,3,58,57]

您无法对字典进行排序。字典是。我不知道你用什么规则来排序,但这比排序更重要。为什么
'B'
的值会发生变化?您应该注意,这通常是不可能的(如果我正确理解您的要求)。在任何人能够提供有用的答案之前,你需要告诉我们更多关于这些词典的信息。是否保证唯一排序?如果存在重复项,会发生什么情况?这是一个复杂而棘手的问题;你需要告诉我们我们可以做什么样的假设。@Bilkokuya是的,我想。如果字典只包含一个元素,从技术上讲,可以说它已排序。但在我看来,这确实是一种延伸。如果一个数据结构被排序,那么它的元素将按一定的顺序排列。但是只有一个元素的数据结构只能按一个特定顺序排列,因此无法对其进行排序。
[(key,value)对于key,d.items()中的value]
=>
列表(d.items())
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]