У меня есть этот кусок кодаPython: Как отсортировать второй элемент кортежа?
relations = dict()
relations[('a','b','c')] = 'first'
relations[('a','c','c')] = 'third'
relations[('d','b','c')] = 'second'
relations_sorted = sorted(relations.keys(), key=lambda tup: tup[1])
for key in relations_sorted:
print(key, relations[key])
Это печатает словарь отсортированный на втором элементе ключа кортежа (решение найдено на StackOverflow).
(('d', 'b', 'c'), 'second')
(('a', 'b', 'c'), 'first')
(('a', 'c', 'c'), 'third')
Как это расширить для сортировки по комбинации второго, затем первого, а затем третьего элемента в кортеже? Например.
(('a', 'b', 'c'), 'first')
(('d', 'b', 'c'), 'second')
(('a', 'c', 'c'), 'third')