Élimination des doublons consécutifs dans les éléments de la liste : au-delà de la simple suppression jusqu'à l'élimination des éléments
Alors que l'approche initiale a réussi à supprimer les doublons consécutifs des éléments de la liste, il n’a pas réussi à éliminer les éléments eux-mêmes. Pour y parvenir, une stratégie plus raffinée est nécessaire.
La solution fournie via itertools.groupby() offre une approche efficace. Il regroupe les éléments consécutifs et renvoie la clé de chaque groupe. En sélectionnant les clés, on peut récupérer les éléments uniques dans la liste :
L = [1,1,1,1,1,1,2,3,4,4,5,1,2] from itertools import groupby [key for key, _group in groupby(L)]
Pour la deuxième partie de la question, où le but est d'éliminer les éléments avec des doublons consécutifs, le code modifié au sein du groupby( ) répond à cette exigence :
[k for k, g in groupby(L) if sum(1 for i in g) < 2]
Cette approche utilise une expression génératrice pour calculer le nombre d'éléments dans chaque groupe. En sélectionnant des clés pour les groupes de moins de deux éléments, nous éliminons efficacement les doublons consécutifs. Le résultat est une solution concise et élégante.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!