La raison pour laquelle j'ai décidé d'écrire cette liste était que lorsque j'ai créé une liste sans éléments en double, j'ai utilisé remove () pour supprimer les éléments. J'ai mal compris que l'utilisation de remove () supprimerait toutes les valeurs spécifiées.
l = [1, 2, 3, 4, 1]
l.remove(1)
print(l)
#[2, 3, 4, 1]
De cette manière, vous pouvez supprimer la valeur spécifiée qui apparaît en premier. Cependant, avec ce code, un seul peut être supprimé, de sorte que le problème suivant se produira.
l = [1, 2, 3, 4, 1, 1]
l.remove(1)
print(l)
#[2, 3, 4, 1, 1]
Donc, pour créer une liste unique, vous devriez avoir un code comme celui-ci:
l = [3, 4, 3, 2, 5, 4, 3]
l_u = []
for i in l:
if i not in l_u:
l_u.append(i)
#[3, 4, 2, 5]
Cela vous permet de créer une liste unique d'éléments.
Site référencé https://www.lifewithpython.com/2013/11/python-remove-duplicates-from-lists.html https://note.nkmk.me/python-list-clear-pop-remove-del/
Je vais l'ajouter car j'ai reçu un commentaire. Il semble que le code suivant puisse être exécuté plus rapidement que le code décrit ci-dessus. Vous pouvez également enregistrer la commande.
l = [3, 4, 3, 2, 5, 4, 3]
print(sorted(set(l), key=l.index))
#[3, 4, 2, 5]
Recommended Posts