


Python - Supprimer la sous-liste qui existe dans une autre sous-liste
Python est un logiciel largement utilisé qui a de nombreux objectifs différents et plusieurs fonctions pour effectuer différentes tâches. Une fonctionnalité utile de Python est la fonctionnalité de liste qui aide à collecter et à stocker différentes données, mais les utilisateurs rencontrent souvent des problèmes lors de la suppression d'une sous-liste qui existe déjà dans une autre sous-liste. Ainsi, dans cet article, nous apprendrons comment supprimer différentes sous-listes qui existent déjà dans d'autres sous-listes.
Pour bien comprendre le problème, prenons un exemple où l'on doit supprimer une sous-liste dont les données existent déjà dans une autre sous-liste.
Exemple
duplicate_list = [[Aayush, Shyam, John], [Shyam, John], [Henry, Joe], [David, Stefen, Damon], [David, Stefen]] #All the sublist whose data is already present in other sublist are to be removed
Sortie
Les sous-listes nommées [Shyam,John] et [David,Stefan] ont déjà les mêmes données dans d'autres sous-listes, donc ces sous-listes supplémentaires seront supprimées. Le résultat devrait ressembler à ceci :
new_list = [[Aayush, Shyam, John], [Henry, Joe], [David, Stefen, Damon]]
Nous allons maintenant découvrir les différentes manières de supprimer une sous-liste qui existe déjà dans une sous-liste.
Nous avons mentionné ici différentes méthodes possibles :
Compréhension de la liste
Le moyen le plus simple de supprimer toutes les sous-listes présentes dans d'autres sous-listes est d'utiliser la compréhension de liste. Vérifiez toutes les sous-listes qui existent dans la liste et copiez celles qui n'existent dans aucune autre sous-liste dans la nouvelle liste. Prenons un exemple pour mieux comprendre :
Exemple
duplicate_list = [[Aayush, Shyam, John], [Shyam, John], [Henry, Joe], [David, Stefen, Damon], [David, Stefen]] New_list = [sublist for sublist in duplicate_list if not any(set(sublist) <= set(other) for other in duplicate_list if sublist is not other)] #We first check all the lists of the duplicate list through the any() function and then we check for any repeatation with the help of <= operator
Sortie
Une fois le code terminé, nous imprimerons la sortie du code ci-dessus. Le résultat du code ci-dessus est le suivant :
[[Aayush, Shyam, John], [Henry, Joe], [David, Stefen, Damon]]
Toutes les sous-listes supplémentaires ont été supprimées, nous avons donc écrit le code correct pour supprimer les sous-listes qui figuraient déjà dans la sous-liste.
Définir les fonctions
Une autre façon de résoudre le problème consiste à créer une toute nouvelle fonction distincte qui filtre toutes les sous-listes qui existent dans d'autres sous-listes. Cela peut être fait en définissant une condition pour la fonction et en la faisant s'exécuter en conséquence.
Exemple
def is_sublist(sublist, other): #is_sublist is the function defined return set(sublist) <= set(other) #the functions checks 2 sublists at a time and if the sublist already exists then it returns with `true` feedback and does not consider the extra sublist duplicate_list = [[Aayush, Shyam, John], [Shyam, John], [Henry, Joe], [David, Stefen, Damon], [David, Stefen]] new_list = [sublist for sublist in duplicate_list if not any(is_sublist(sublist, other) for other in duplicate_list if sublist is not other)]
Sortie
Le résultat du code ci-dessus est le suivant :
[[Aayush, Shyam, John], [Henry, Joe], [David, Stefen, Damon]]
Toutes les sous-listes supplémentaires sont supprimées, nous avons donc écrit le code correct pour supprimer toutes les sous-listes supplémentaires.
Comparez chaque liste
Il s'agit d'une méthode très complexe pour supprimer une sous-liste qui existe déjà dans une autre sous-liste. Dans cette méthode, toutes les sous-listes sont comparées les unes aux autres et les sous-listes non dupliquées sont copiées dans une nouvelle liste. Nous pouvons comprendre cela à l'aide de l'exemple suivant :
Exemple
duplicate_list = [[Aayush, Shyam, John], [Shyam, John], [Henry, Joe], [David, Stefen, Damon], [David, Stefen]] #A copy of duplicate list is created to avoid any errors in the original file new_list = duplicate_list[:] #Check each sublist present in the new_list for sublist in duplicate_list: for other in new_list: # Checking of presence of sublist present in other sublist is done if sublist != other and set(sublist).issubset(other): #issubset is used to check presence of one sublist in another sublist # Remove all the repeating sublist new_list.remove(sublist) break #break is used to stop the loop so that it does not keep checking continuosly print(new_list)
Sortie
Le résultat du code ci-dessus est le suivant :
[[Aayush, Shyam, John], [Henry, Joe], [David, Stefen, Damon]]
Cette méthode est plus adaptée lorsque la liste est trop longue et contient un grand nombre de sous-listes avec de nombreux éléments.
Mettre en place les opérations
Dans cette opération, les sous-listes existant dans d'autres sous-listes sont supprimées à l'aide de l'opération set. Dans cette approche, nous pouvons convertir chaque sous-liste de la liste en un ensemble et, à l'aide de différentes opérations, nous pouvons supprimer toutes les sous-listes présentes dans d'autres sous-listes. On peut le comprendre plus clairement à travers l'exemple suivant :
Exemple
duplicate_list = [[Aayush, Shyam, John], [Shyam, John], [Henry, Joe], [David, Stefen, Damon], [David, Stefen]] new_list = [] for sublist in duplicate_list: is_subset = False for other in duplicate_list: if sublist != other and set(sublist).difference(set(other)) == set(): #The difference operation is used to calculate the difference betwen two sets is_subset = True #When the sublist is present in another sublist the result of is_subset will be true break #Once the result is found to be true, the loop is broke and all the other sublist are copied into the new_list if not is_subset: new_list.append(sublist) print(new_list)
Sortie
Le résultat du code ci-dessus est le suivant :
[[Aayush, Shyam, John], [Henry, Joe], [David, Stefen, Damon]]
Toutes les sous-listes présentes dans d'autres sous-listes ont été supprimées.
Conclusion
Le problème de la suppression d'une sous-liste qui existe déjà dans une autre sous-liste est un problème auquel les utilisateurs sont souvent confrontés, et cela entraîne souvent une perte de temps considérable pour les utilisateurs. Par conséquent, il est possible de supprimer rapidement toutes les sous-listes qui existent au sein d’une autre sous-liste en utilisant différentes méthodes suggérées dans l’article précédent.
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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution aux problèmes d'autorisation Lors de la visualisation de la version Python dans Linux Terminal Lorsque vous essayez d'afficher la version Python dans Linux Terminal, entrez Python ...

Comment enseigner les bases de la programmation novice en informatique dans les 10 heures? Si vous n'avez que 10 heures pour enseigner à l'informatique novice des connaissances en programmation, que choisissez-vous d'enseigner ...

Lorsque vous utilisez la bibliothèque Pandas de Python, comment copier des colonnes entières entre deux frames de données avec différentes structures est un problème courant. Supposons que nous ayons deux dats ...

Comment éviter d'être détecté lors de l'utilisation de FiddlereVerywhere pour les lectures d'homme dans le milieu lorsque vous utilisez FiddlereVerywhere ...

Les expressions régulières sont des outils puissants pour la correspondance des motifs et la manipulation du texte dans la programmation, améliorant l'efficacité du traitement de texte sur diverses applications.

Comment Uvicorn écoute-t-il en permanence les demandes HTTP? Uvicorn est un serveur Web léger basé sur ASGI. L'une de ses fonctions principales est d'écouter les demandes HTTP et de procéder ...

Dans Python, comment créer dynamiquement un objet via une chaîne et appeler ses méthodes? Il s'agit d'une exigence de programmation courante, surtout si elle doit être configurée ou exécutée ...

L'article traite des bibliothèques Python populaires comme Numpy, Pandas, Matplotlib, Scikit-Learn, Tensorflow, Django, Flask et Demandes, détaillant leurs utilisations dans le calcul scientifique, l'analyse des données, la visualisation, l'apprentissage automatique, le développement Web et H et H
