Ça n'est pas bon ! Ou alors tu as mal énoncé ton problème...
En supposant que ton fichier est trié (sinon ça foire complètement), tu peux avoir la séquence: A X a
A X b
A Y a
La première ligne et la dernière sont les mêmes, mais seront les deux conservées. Au lieu de last_hash, utilise une liste dans laquelle tu ajoutes les hashs et que tu testes avec if cur_hash in all_hash:.
Par ailleurs, tu peux aussi avoir des collisions avec le hash (c'est pour ça qu'il faut pas conduire après), donc dans ton tableau tu peux carrément mettre directement line[0:14]+line[40:] dans la liste. C'est pas très optimisé, mais c'est plus sûr et ça ne tourne qu'une seule fois.
Et enfin, plutôt qu'une liste, utilise un set, c'est plus adapté.
[^] # Re: Ce que j'ai finalement mis en place
Posté par calandoa . En réponse au message Aide sur commande uniq pour dédoublonner fichier. Évalué à 2.
Ça n'est pas bon ! Ou alors tu as mal énoncé ton problème...
En supposant que ton fichier est trié (sinon ça foire complètement), tu peux avoir la séquence:
A X aA X b
A Y a
La première ligne et la dernière sont les mêmes, mais seront les deux conservées. Au lieu de
last_hash, utilise une liste dans laquelle tu ajoutes les hashs et que tu testes avecif cur_hash in all_hash:.Par ailleurs, tu peux aussi avoir des collisions avec le hash (c'est pour ça qu'il faut pas conduire après), donc dans ton tableau tu peux carrément mettre directement
line[0:14]+line[40:]dans la liste. C'est pas très optimisé, mais c'est plus sûr et ça ne tourne qu'une seule fois.Et enfin, plutôt qu'une liste, utilise un set, c'est plus adapté.