Maison >développement back-end >Tutoriel Python >Comment filtrer les éléments d'une liste commençant par un préfixe donné en utilisant Python ?

Comment filtrer les éléments d'une liste commençant par un préfixe donné en utilisant Python ?

WBOY
WBOYavant
2023-08-20 11:29:401788parcourir

Comment filtrer les éléments dune liste commençant par un préfixe donné en utilisant Python ?

Le préfixe de mot est défini par le début d'un mot ou d'une lettre. Dans cet article, nous apprendrons comment filtrer les éléments de liste commençant par un préfixe donné à l'aide de Python à l'aide de fonctions intégrées de Python telles que startwith(), filter(), lambda et len().

Prenons un exemple pour comprendre ce problème−

Let’s take an example to understand this:
Given element list, My_list = [“Amelia”,  “Kinshuk”,  “Rosy”,  “Aman”]
Keyword to be searched, Prefix = “Am”
Final result = [“Amelia”, “Aman”]

Grammaire

La syntaxe suivante est utilisée dans tous les exemples -

startswith()

Il s'agit d'une méthode intégrée à Python qui renvoie vrai si la condition donnée est remplie et que la chaîne commence par une valeur spécifique.

filter()
La méthode

filter() est appliquée lorsque nous devons filtrer des éléments en fonction de conditions spécifiques. En termes simples, cela permet à l'utilisateur de parcourir les éléments qui satisfont une condition.

lambda

Cette fonction lambda en Python est appelée fonction anonyme. Il peut être utilisé lorsqu'un objet fonction est requis.

len()

Il s'agit d'une méthode intégrée à Python qui renvoie la longueur de l'élément dans l'objet.

Utilisez les compréhensions de listes

Ce programme utilise une compréhension de liste avec une méthode appelée startupswith() pour filtrer les éléments préfixés dans la liste.

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple ci-dessous, nous utiliserons les compréhensions de liste dans l'instruction de retour d'une fonction appelée prefix_list_element_filter(), qui parcourra les valeurs de la liste à l'aide d'une boucle for et vérifiera les préfixes à l'aide de startswith(). La combinaison d’une boucle for et d’une instruction if dans la même position est appelée compréhension de liste. Créez ensuite la liste dans la variable my_list. En poursuivant la configuration de la fonction appelante, transmettez les paramètres my_list (pour stocker la valeur de la liste) et Am (le préfixe) pour filtrer les éléments de la liste qui commencent par le préfixe donné. Enfin, nous utilisons la variable filter_list pour imprimer les résultats.

def prefix_list_element_filter(lst, prefix):
   return [item for item in lst if item.startswith(prefix)]

# Create the list
my_list = ["Amar", "Bunny", "Aman", "Ganesh", "Rajendra"]
filter_list = prefix_list_element_filter(my_list, "Am")
print("The given element start with prefix:", filter_list)

Sortie

 The given element start with prefix: ['Amar', 'Aman']

Utilisez une boucle for

Le programme utilise une boucle for pour parcourir la liste donnée et vérifie le préfixe à l'aide de startwith(). Il utilisera ensuite une liste vide pour stocker les éléments de préfixe filtrés en utilisant une méthode intégrée appelée append().

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple suivant, nous démarrons d'abord le programme en définissant une fonction à l'aide du mot-clé def, qui accepte deux paramètres - lst (pour recevoir les valeurs de la liste) et prefix (pour recevoir le mot-clé de préfixe). Ensuite, il parcourra la liste à l'aide d'une boucle for, puis définira le préfixe à l'aide de la méthode startswith(), qui accepte la valeur du préfixe d'argument reçue par la fonction. Les éléments de liste filtrés sont ensuite ajoutés à la variable filtered_list à l'aide d'une méthode appelée append() et le résultat est renvoyé. Créez maintenant la liste dans la variable fruit_list. Utilisez ensuite la fonction d'appel pour transmettre la valeur de la liste et les paramètres de préfixe dans la variable filter_list. Enfin, imprimez les résultats en utilisant une variable appelée filter_list.

def prefix_list_element_filter(lst, prefix):
   filtered_list = []
   for item in lst:
      if item.startswith(prefix):
         filtered_list.append(item)
   return filtered_list

# Create the list
fruit_list = ["apple", "banana", "avocado", "blue berry", "kiwi"]
filter_list = prefix_list_element_filter(fruit_list, "b")
print("The given element start with prefix:\n", filter_list)

Sortie

 The given element start with prefix:
 ['banana', 'blue berry']

Utilisez la fonction Filter()

Le programme utilise la fonction filter() pour identifier des préfixes spécifiques et utilise la fonction lambda pour définir le préfixe via une méthode appelée startwith(), qui peut être utilisée pour filtrer des préfixes spécifiques.

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple suivant, en utilisant une fonction commençant par le mot-clé def, la fonction accepte deux paramètres - lst (reçoit une valeur de liste) et prefix (reçoit une recherche par mot-clé spécifique), la fonction sera basée sur le fait qu'elle soit donnée Filtrez la liste des éléments commençant par un préfixe spécifique. Cette fonction renvoie des résultats préfixés en utilisant certaines fonctions intégrées comme list(), filter(), lambda et startswith(). Créez ensuite une liste pour stocker les valeurs de chaîne dans la variable course_list. Ensuite, utilisez des appels de fonction pour transmettre des valeurs - en passant course_list et "bc" dans les variables filter_list. Utilisez maintenant la fonction d'impression en définissant le nom de la variable filter_list pour obtenir les résultats.

def prefix_list_element_filter(lst, prefix):
   return list(filter(lambda item: item.startswith(prefix), lst))

# Create the list
course_list = ["dca", "bca", "bcom", "MCA", "pgdca"]
filter_list = prefix_list_element_filter(course_list, "bc")
print("The given element start with prefix:\n", filter_list)

Sortie

 The given element start with prefix:
 ['bca', 'bcom']

Utilisez des compréhensions de listes avec des expressions conditionnelles

Ce programme utilise une fonction qui renvoie la compression de liste en définissant des expressions conditionnelles qui peuvent être utilisées pour filtrer les éléments de liste commençant par un préfixe donné.

La traduction chinoise de

Exemple

est :

Exemple

Dans l'exemple ci-dessous, commencez à utiliser la fonction filter_list_elements_prefix(), qui accepte deux paramètres - lst (pour stocker la liste) et prefix (pour recevoir un préfixe spécifique lors de l'appel de fonction). Cette fonction renvoie une nouvelle liste en utilisant une compréhension de liste, c'est-à-dire que l'expression item[:len(prefix)] découpe la longueur de chaque élément de lst depuis le début jusqu'au préfixe et la compare avec le préfixe. S'ils sont égaux, incluez l'élément dans la nouvelle liste. Ensuite, créez une liste pour stocker certaines valeurs de chaîne dans la variable my_list. Initialisez ensuite la variable filter_list, qui porte le même nom que la fonction ci-dessus, pour transmettre les valeurs de la liste et du préfixe. Enfin, utilisez la variable filter_list pour obtenir les résultats dans la fonction d'impression.

def filter_list_elements_prefix(lst, prefix):
   return [item for item in lst if item[:len(prefix)] == prefix]

# Create the list
my_list = ["tea", "coffee", "cheese", "teaspoon", "sugar"]
filter_list = filter_list_elements_prefix(my_list, "tea")
print("The given element start with prefix:\n", filter_list)

输出

 The given element start with prefix:
 ['tea', 'teaspoon']

结论

我们讨论了解决问题陈述的各种方法,过滤以给定前缀开头的元素。有一些内置函数,如startswith(),append()和len(),可以用于过滤前缀并根据给定条件返回结果。这个程序涉及到现实生活中的例子,比如一个由多个人名组成的名单,可以通过特定的前缀进行搜索。

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