Ho alcuni elenchi di elementi (che probabilmente non hanno necessariamente elementi comuni). Gli elenchi sono noti per essere ordinati, ma non hanno una funzione di confronto (sono stati inseriti manualmente nel sistema in ordine). Mi piacerebbe combinare queste liste in una lista contenente tutti gli elementi che sono in un ordine ragionevole dati quelli esistenti.
Ovviamente ci sono casi limite e decisioni da prendere - non sono troppo preoccupato per le specifiche, ma piuttosto mi piacerebbe un approccio generale per affrontare il problema. Ovviamente se le due liste non hanno nulla in comune, non c'è molto da fare se non accodare l'una all'altra, ma ciò non accadrà molto.
Ad esempio:
l1 = ['Task A', 'Task B', 'Task C', 'Task D']
l2 = ['Task B', 'Task B2', 'Task D', 'Task G']
l3 = ['Task A', 'Task C', 'Task E', 'Task D']
result = ['Task A', 'Task B', 'Task B2', 'Task C', 'Task E', 'Task D', 'Task G']
Ancora una volta, mi rendo conto che non esiste una soluzione perfetta e l'output non è mission critical, voglio solo che sia ragionevolmente ordinato nella maggior parte dei casi. Qualsiasi aiuto sarebbe apprezzato.