Este é um dicionário que eu tenho:
mydict = {
4: {'K', 'H'},
2: {'Y', 'X', 'Q', 'U'},
8: {'A', 'T', 'S'},
}
Parece que há algumas maneiras de classificar um dicionário que tentei, mas não funcionaram:
sorted([(value,key) for (key,value) in mydict.items()])
Mas vou classificar usando a len()
função com base em quantos valores cada um tem.
Esta é a len()
saída atual:
for x in mydict: print(x, mydict[x], len(mydict[x]))
Como posso classificar o dicionário conforme o esperado?
A saída esperada seria:
mydict = {
2: {'Y', 'X', 'Q', 'U'},
8: {'A', 'T', 'S'},
4: {'K', 'H'},
}
Como os dicionários no Python 3.7+ mantêm a ordem de inserção (era um detalhe de implementação no Python 3.6), você pode reconstruir o dicionário na ordem correta após a classificação:
Saída:
Observação: conjuntos, diferentemente de dicionários, não garantem a ordenação, portanto, espera-se que os valores de saída acima sejam diferentes dos seus nesse aspecto (e não necessariamente os mesmos em todas as execuções).