Словарь, ключи которого представляют собой три отдельных символа, а ключи представляют собой списки разного размера, используйте функцию сортировки / сортировки, чтобы отсортировать этот словарь по длине массива значений.Если длина массива значений равна, отсортируйте его по 3-му элементу (символу) в ключе.Если в этом случае также возникает коллизия, отсортируйте ее по 2-му элементу в порядке возрастания.Размер символа (верхний / нижний) не имеет значения.
Мне удалось отсортировать его по длине значений, но я не могу найти решение, как найти столкновение и использовать два других правила сортировки.
x = {("a", "B", "b"):[2, 0], ("A", "c", "b"):[2,1], ("d", "a", "C"):[0, 0, 0],
("A", "A", "A"):[2], ("e", "e", "t"):[2, 3]}
sort1 = sorted(x.items(), key = lambda x: x[1].__len__())
input = {("a", "B", "b"):[2, 0], ("A", "c", "b"):[2,1], ("d", "a", "C"):[0, 0, 0],
("A", "A", "A"):[2], ("e", "e", "t"):[2, 3]}
expected_output = [(("A", "A", "A"):[2]),(("e", "e", "t"):[2, 3]),
(("A", "B", "b"):[2, 1]),(("a", "c", "b"):[2, 0]),
(("d", "a", "C"),[0, 0, 0])]