Ich habe eine Liste von Listen:Sortieren eine Liste von Listen von Länge und Wert
>>> a = [['3D'], ['3D', '4D', '5D'], ['4C'], ['2C'],['4C', '4D'], ['4D'], ['5D'], \
... ['JC'], ['JC', 'JS'], ['JS']]
Sie werden feststellen, dass dies Kartenwerte, dh: C = Clubs usw. J = Jack usw. Ich habe auch eine Referenzliste:
>>> 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}
Als ich ein Kartenspiel spielte, wo der Maximalwert 2 ist durch die Länge der Liste zu sortieren, ich mache:
>>> a = sorted(a, key = lambda x: len(x))
>>> a
... [['3D'], ['4C'], ['4D'], ['2C'], ['5D'], ['JC'], ['JS'], ['4C', '4D'], ['JC', 'JS'], ['3D', '4D', '5D']]
ich brauche t o sie auch nach ihrem Wörterbuch Wert sortieren, so meine resultierende Liste wäre:
>>> [['3D'], ['4C'], ['4D'], ['5D'], ['JC'], ['JS'], ['2C'], ['4C', '4D'], ['JC', 'JS'], ['3D', '4D', '5D']]
Derzeit ist dies eine ganz einfache Implementierung, aber ich mag es sortieren in einer komplizierteren Weise können.
Das ist alles funktionieren würde, wenn die Listen der Länge 1 sind, aber x [0] für ein Liste von ['4C', '4D'] ist '4D', so dass es nicht möglich ist – tcatchy
@ FRU5TR8EDD zu konvertieren: Versuchen Sie es mit einem Listenverständnis. Siehe Aktualisierung. –
Gott sei Dank, Vielen Dank – tcatchy