Python vérifie si la liste contient une chaîne

Hemank Mehtani 30 janvier 2023
  1. Utilisez la boucle for pour vérifier une chaîne spécifique dans une liste Python
  2. Utilisez la compréhension de liste pour vérifier une chaîne spécifique dans une liste Python
  3. Utilisez la fonction filter() pour obtenir une chaîne spécifique dans une liste Python
Python vérifie si la liste contient une chaîne

Les chaînes sont une séquence de caractères. Tout comme les chaînes stockent des caractères à des positions spécifiques, nous pouvons utiliser des listes pour stocker une collection de chaînes.

Dans ce tutoriel, nous obtiendrons une chaîne avec des valeurs spécifiques dans une liste Python.

Utilisez la boucle for pour vérifier une chaîne spécifique dans une liste Python

Le for est utilisé pour itérer sur une séquence en Python.

Son implémentation pour obtenir une chaîne contenant des valeurs spécifiques est illustrée dans l’exemple ci-dessous.

py_list = ["a-1", "b-2", "c-3", "a-4"]
new_list = []
for x in py_list:
    if "a" in x:
        new_list.append(x)
print(new_list)

Production:

['a-1','a-4']

Dans le code ci-dessus, l’instruction if est utilisée à l’intérieur de la boucle for pour rechercher les chaînes contenant a dans la liste py_list . Une autre liste nommée new_list est créée pour stocker ces chaînes spécifiques.

Utilisez la compréhension de liste pour vérifier une chaîne spécifique dans une liste Python

Compréhensions de listes est un moyen de créer de nouvelles listes basées sur la liste existante. Il offre une syntaxe plus courte étant plus compacte et plus rapide que les autres fonctions et boucles utilisées pour créer une liste.

Par example,

py_list = ["a-1", "b-2", "c-3", "a-4"]
r = [s for s in py_list if "a" in s]
print(r)

Production:

['a-1', 'a-4']

Dans le code ci-dessus, la compréhension de liste est utilisée pour rechercher des chaînes ayant a dans la liste py_list.

Notez qu’écrire le même code en utilisant d’autres fonctions ou boucles aurait pris plus de temps, car plus de code est nécessaire pour leur implémentation, mais la compréhension de la liste résout ce problème.

Nous pouvons également utiliser la compréhension de liste pour trouver des chaînes contenant plusieurs valeurs spécifiques, c’est-à-dire que nous pouvons trouver des chaînes contenant a et b dans py_list en combinant les deux compréhensions.

Par example,

py_list = ["a-1", "b-2", "c-3", "a-4", "b-8"]
q = ["a", "b"]
r = [s for s in py_list if any(xs in s for xs in q)]
print(r)

Production:

['a-1', 'b-2', 'a-4','b-8']

Utilisez la fonction filter() pour obtenir une chaîne spécifique dans une liste Python

La fonction filter() filtre l’itérable donné à l’aide d’une fonction qui vérifie si chaque élément satisfait ou non une condition.

Il renvoie un itérateur qui applique la vérification pour chacun des éléments de l’itérable.

Par example,

py_lst = ["a-1", "b-2", "c-3", "a-4"]
filter(lambda x: "a" in x, py_lst)
print(filter(lambda x: "a" in x, py_lst))

Production:

<filter object at 0x7fd36c1905e0>

Notez que la sortie ci-dessus est un objet de type filtre-itérateur puisque la fonction filter() renvoie un itérateur au lieu d’une liste.

Nous pouvons utiliser la fonction list() comme indiqué dans le code ci-dessous pour obtenir une liste.

list(filter(lambda x: "a" in x, py_lst))

Production:

['a-1','a-4']

Dans le code ci-dessus, nous avons utilisé filter() pour trouver une chaîne avec des valeurs spécifiques dans la liste py_list.

Article connexe - Python String

Article connexe - Python List