Mam listę list:Sortowanie listę list od długości i wartości
>>> a = [['3D'], ['3D', '4D', '5D'], ['4C'], ['2C'],['4C', '4D'], ['4D'], ['5D'], \
... ['JC'], ['JC', 'JS'], ['JS']]
można zauważyć, że jest to wartość karty tj C = Kluby itp J = Jack itp Mam też lista referencyjna:
>>> confrom = {'3':3, '4':4, '5':5, '6':6, '7':7, '8':8, '9':9, \
... '0':10, 'J':11, 'Q':12, 'K':13, 'A':14, '2':15}
Jak gram gra karciana, w której maksymalna wartość wynosi 2. Aby sortować według długości listy, robię:
>>> a = sorted(a, key = lambda x: len(x))
>>> a
... [['3D'], ['4C'], ['4D'], ['2C'], ['5D'], ['JC'], ['JS'], ['4C', '4D'], ['JC', 'JS'], ['3D', '4D', '5D']]
muszę t O również sortować je według ich wartości słowniku więc moja lista wynikające byłoby:
>>> [['3D'], ['4C'], ['4D'], ['5D'], ['JC'], ['JS'], ['2C'], ['4C', '4D'], ['JC', 'JS'], ['3D', '4D', '5D']]
Obecnie jest to dość prosta implementacja, ale chcę móc sortować je w bardziej skomplikowany sposób.
To będzie działać, jeśli wszystkie listy były o długości 1, ale x [0] Dla lista ["4C", "4D"] to "4D", więc wygrała; t być w stanie przekonwertować – tcatchy
@ FRU5TR8EDD: Spróbuj użyć zrozumienia list. Zobacz aktualizację. –
Godsend, dziękuję bardzo – tcatchy