Упорядочить элементы по двум значениям в словаре Python
Я практикую 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)
2 ответа
Учитывая то, что другие сказали о порядке словаря и нарушении желаний авторов иметь словарь, я возвращаю отсортированный список. Я использовал принятый ответ в Python, как мне индексировать список другим списком?
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]
На самом деле мне не нужен новый словарь. но упорядоченный список по общему значению элемента. это должно выглядеть так: list=[17,62,32,60,3,58,57]