Je sais qu'il est facile de supprimer des éléments en double d'une liste telle que:
à l'aide de la méthode: p> Cependant, cette méthode ne fonctionne pas si la liste est composée de 2 listes d'éléments comme celle-ci. : p> Je voudrais supprimer toutes les entrées où le premier élément est dupliqué, laissant derrière la première
instance de chacun quel que soit le deuxième élément. Donc, la sortie doit être: p> lst = ['A', 'B', 'C', 'C', 'D', "D" ] code> p>
lst = [["A ',' 1 '], [' B ',' 2 '], [' B ',' 1 '], [' C ',' 3 '], [' c ',' 2 ']]] code> p>
3 Réponses :
Vous pouvez essayer ceci:
>>> lst = [['a','1'],['b','2'],['b','1'],['c','3'],['c','2']] >>> dict(lst) {'a': '1', 'b': '1', 'c': '2'} >>> [k for k,_ in dict(lst).items()] ['a', 'b', 'c'] >>> [[k,v] for k,v in dict(lst).items()] [['a', '1'], ['b', '1'], ['c', '2']]
@Giacomoalzetta êtes-vous sûr? La production attendue montre clairement que la première paire devrait être conservée.
@Riccardobucco oh mon mauvais. Qui écrit un exemple avec des séquences croissantes puis échangez simplement le dernier pour tromper les autres. Je vais supprimer mon commentaire.
[['a', '1'], ['b', '2'], ['c', '3']]
Vous pouvez utiliser résultat: p> iTERTOOLS.GROUPBY CODE>
:
Il convient de noter que cela nécessite que lst code> soit trié.
Est-ce que cela répond à votre question? Supprimer des doublons dans des listes
Voulez-vous supprimer des doublons de la liste entière ou juste des doublons consécutifs, par exemple. Pour
lst = [["A ', 1], [' B ', 2], [' A ', 2], [' A ', 2], [' A ', 3]] Code> Le résultat serait
[['A', 1], ['B', 2], ['A', 2]] Code>?
Je souhaite supprimer toute entrée où le premier élément est déjà apparu dans la liste. Donc, pour votre exemple, la sortie doit être [['A', '1'], ['B', '2']]]