Maison  >  Article  >  développement back-end  >  Programme Python pour tester si un élément d'ensemble est présent dans une liste

Programme Python pour tester si un élément d'ensemble est présent dans une liste

WBOY
WBOYavant
2023-09-04 21:49:041125parcourir

Programme Python pour tester si un élément densemble est présent dans une liste

Dans cet article, nous apprendrons comment vérifier si un élément d'ensemble existe dans une liste en python.

Méthode à utiliser

  • Utilisez n'importe quelle fonction()

  • Utilisez le bit au niveau et l'opérateur

  • Utilisez les fonctions Counter(), filter() et lambda

Exemple

Supposons que nous ayons pris un ensemble d'entrées et une liste d'entrées. Nous allons maintenant vérifier si un élément de l'ensemble d'entrée existe dans la liste d'entrée en utilisant la méthode ci-dessus.

Entrez

inputSet = {4, 8, 1, 3, 5, 7}
inputList = [7, 15, 20]

Sortie

Checking whether any set element present in the input list: True

Dans l'exemple ci-dessus, 7 existe à la fois dans l'ensemble et dans la liste, donc le résultat est True

Méthode 1 : utilisez la fonction any()

La fonction any() renvoie True si un élément de l'itérable est vrai, sinon elle renvoie False.

Grammaire

any(iterable)

Algorithme (étapes)

Voici les algorithmes/étapes qui doivent être suivis pour effectuer la tâche requise -.

  • Créez une variable pour stocker le ensemble d'entrée et imprimez l'ensemble donné.

  • Créez une autre variable pour stocker la liste d'entrée.

  • Utilisez la fonction any() pour vérifier si un élément d'ensemble est présent dans la liste d'entrée en parcourant l'ensemble d'entrée et en vérifiant si l'élément actuel est présent dans la liste d'entrée.

  • Imprimez le résultat sous forme de valeur booléenne.

Exemple

Le programme suivant utilise la fonction any() pour vérifier si un élément de l'ensemble d'entrée existe dans la liste d'entrée et renvoie True s'il est présent, sinon False –

# input set
inputSet = {4, 8, 1, 3, 5, 7}

# printing the input set
print("Input set:\n", inputSet)

# input list
inputList = [7, 15, 20]

# checking whether any set element is present in the input list using any() function
result = any(i in inputSet for i in inputList)

# printing the output
print("Checking whether any set element present in the input list:", result)

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

Input set:
{1, 3, 4, 5, 7, 8}
Checking whether any set element present in the input list: True

Méthode 2 : Utiliser au niveau du bit et de l'opérateur

Bitwise & Operator - "&" est un opérateur bit à bit qui compare les nombres (binaire). Si les deux bits sont 1, alors chaque bit est défini sur 1.

Algorithme (étapes)

Voici les algorithmes/étapes à suivre pour effectuer la tâche requise -

  • Convertissez l'entrée donnée en un ensemble à l'aide de la fonction set().

  • Vérifiez si un élément d'ensemble existe dans la liste d'entrée à l'aide des opérateurs & (définissez chaque bit sur 1 si les deux bits sont 1) et utilisez la fonction bool() (renvoie la valeur booléenne de l'objet donné)

  • Imprimez les résultats.

Exemple

Le programme suivant utilise les opérateurs au niveau du bit & pour vérifier si un élément de l'ensemble d'entrée existe dans la liste d'entrée et renvoie True s'il est présent, sinon False –

# input set
inputSet = {4, 8, 1, 3, 5, 7}

# printing the input set
print("Input set:\n", inputSet)

# input list
inputList = [9, 15, 20]

# Convert the given list to set using the set() function
inputListSet = set(inputList)

# checking whether any set element present in the input list

# using & operator(checks for common element) and converting to boolean
result = bool(inputSet & inputListSet)

# printing the output
print("Checking whether any set element present in the input list:", result)

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

Input set:
{1, 3, 4, 5, 7, 8}
Checking whether any set element present in the input list: False

Méthode 3 : Utilisation des fonctions Counter(), filter() et lambda

Fonction filter() - Filtre une séquence spécifiée à l'aide d'une fonction qui détermine si chaque élément de la séquence est vrai ou faux.

Fonction Counter() - Compte les sous-classes d'objets hachables. Il crée implicitement une table de hachage itérable lorsqu'il est appelé/invoqué.

Fonction lambda()

La fonction lambda est une petite fonction anonyme.

La fonction

lambda peut avoir un nombre illimité/n'importe quel nombre de paramètres, mais ne peut avoir qu'une seule expression.

Grammaire

lambda arguments : expression

Algorithme (étapes)

Voici les algorithmes/étapes à suivre pour effectuer la tâche requise -

  • Utilisez le mot-clé import pour importer la fonction Counter depuis le module de collecte.

  • Utilisez la fonction Counter() pour obtenir les fréquences de tous les éléments de la liste d'entrée sous forme de dictionnaire.

  • Utilisez la fonction de filtre pour filtrer tous les éléments de l'ensemble d'entrée s'ils sont présents dans le dictionnaire de fréquence ci-dessus.

  • La longueur de la liste filtrée sera supérieure à 1 s'il y a des éléments communs.

  • Utilisez l'instruction conditionnelle if pour vérifier si la condition ci-dessus est vraie et imprimez en conséquence.

Exemple

Le programme suivant utilise les fonctions Counter(), filter() et lambda pour vérifier si un élément de l'ensemble d'entrée existe dans la liste d'entrée et renvoie True s'il est présent, sinon False –

# importing a Counter function from the collections module
from collections import Counter

# input set
inputSet = {4, 8, 1, 3, 5, 7}

# printing the input set
print("Input set:\n", inputSet)

# input list
inputList = [7, 15, 20, 7]

# getting the frequency of list elements using the Counter() function

# Here it returns frequencies as a dictionary
elements_freq = Counter(inputList)

# Traversing in the input Set using the lambda function

# Checking if the set element exists in the keys of the dictionary

# Filtering all the elements which satisfy the above condition
output = list(filter(lambda k: k in elements_freq.keys(), inputSet))

# Check if there are any filtered elements
if(len(output) > 0):
   output = True

# If no elements are common then the output will be False
else:
   output = False

# printing the output
print("Checking whether any set element present in the input list:", output)

Sortie

Une fois exécuté, le programme ci-dessus générera le résultat suivant -

Input set:
{1, 3, 4, 5, 7, 8}
Checking whether any set element present in the input list: True

Conclusion

Dans cet article, nous avons appris à utiliser trois méthodes différentes pour déterminer si un ensemble contient un élément dans une liste. Nous avons également appris comment convertir n'importe quel objet itérable tel qu'une liste, un tuple ou tout objet itérable en un ensemble à l'aide de la fonction set() et comment utiliser l'opérateur & pour trouver des éléments communs aux deux ensembles étant donné un ensemble donné.

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!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer