Ich mag würde eine Liste in Python sortieren basierend auf einer vorsortierten ListeSortieren eine Liste in Python basierend auf einer anderen sortierten Liste
presorted_list = ['2C','3C','4C','2D','3D','4D']
unsorted_list = ['3D','2C','4D','2D']
Gibt es einen Weg, um die Liste zu sortieren die vorsortierte Liste zu reflektieren trotz die Tatsache, dass nicht alle Elemente in der unsortierten Liste vorhanden sind?
Ich möchte das Ergebnis in etwa so aussehen:
after_sort = ['2C','2D','3D','4D']
Dank!
Es tut mir leid, ich bin neu, aber das erste Bit des Codes scheint mir einen Wert Fehler für das allererste Element in der unsortierten Liste zu geben. ValueError: '6D' ist nicht in der Liste –
'.index' wird einen Wert Fehler auslösen, wenn das Element nicht in der Vorsortierte_liste ist. –
@Danica: Wenn Sie Elemente _removed_ wollen, die nicht in der 'vorsortierten_liste' sind, verwenden Sie etwas wie' sorted (itertools.ifilter (lambda x: x in vorsortierte_liste, unsortierte_liste), key = order .__ getitem __) '. – martineau