Maison  >  Article  >  développement back-end  >  Cet artefact Python peut vous permettre d'attraper du poisson pendant longtemps !

Cet artefact Python peut vous permettre d'attraper du poisson pendant longtemps !

WBOY
WBOYavant
2023-04-11 20:07:221081parcourir

Cet artefact Python peut vous permettre d'attraper du poisson pendant longtemps !

J'ose garantir avec mon honneur qu'après l'avoir utilisé, l'efficacité de votre écriture de code sera améliorée !

Pampy est un génie

Tout d’abord, popularisons la correspondance de motifs.

La correspondance de modèles consiste à donner un certain modèle et à utiliser ce modèle pour vérifier si une séquence ou une chaîne est conforme à ce modèle. Cette technologie est souvent utilisée dans le traitement du langage naturel.

Pampy est une bibliothèque de correspondance de modèles pour Python. C'est une bibliothèque de seulement 150 lignes. Cette bibliothèque est élégante et efficace et mérite d'être ajoutée à la pile de développement de base des codeurs Python.

Par coïncidence, le programme dispose également d'une bibliothèque de versions JavaScript du même nom Pampy.js.

Si vous êtes intéressé, vous pouvez lire le code source et le copier dans d'autres langages de développement.

La façon d'installer cette bibliothèque est également clichée :

  • pip install pampy

Le spectacle de fantaisie de Pampy

faire correspondre un seul personnage

Nous pouvons utiliser _ pour faire correspondre un seul personnage :

from pampy import _,match
a=['a',1,'b',2,'c',3,'d',4]
patter = ['a',1,'b',_,'c',3,'d',4]
action=lambda x: f'b is: {x}'
print(match(a,patter,action))

Exécuter Le résultat est :

  • b est : 2

Comme le montre l'exemple ci-dessus, en fait, nous utilisons simplement _ comme espace réservé. Lors de la correspondance, recherchez simplement l'élément correspondant à cet espace réservé.

Dictionnaire de correspondance

Nous pouvons faire correspondre la clé ou la valeur à n'importe quel niveau dans le dictionnaire multi-niveaux :

from pampy import _, match
person = {
 'address': {'province': '湖北', 'city': '武汉', 'district': '东湖高新'},
 'name': '闲欢'
}
patter = {_: {_: '武汉'}}
action = lambda k1, k2: ({'k1': k1, 'k2': k2})
print(match(person, patter, action))

Le résultat courant est :

  • {'k1' : 'adresse', 'k2' : 'city'}

Semblable à l'exemple précédent, nous utilisons ici l'espace réservé _ puis positionnons l'espace réservé dans l'action pour afficher le résultat.

Faire correspondre le début et la fin

Dans l'exemple ci-dessus, nous avons utilisé des espaces réservés pour occuper la place, mais l'espace réservé ne peut correspondre qu'à un seul caractère. Dans l'exemple suivant, nous utiliserons les deux mots-clés HEAD et TAIL Pour faire correspondre. le début et la fin, ils peuvent correspondre à autant de caractères que vous le souhaitez :

from pampy import _,match,HEAD,TAIL
a=['a',1,'b',2,'c',3,'d',4]
patter = [HEAD,_,'b',2,'c',3,TAIL]
action=lambda h,m,t: ({'head':h,'middle':m,'tail':t})
print(match(a,patter,action))

En exécutant l'exemple ci-dessus, le résultat est :

  • {'head' : 'a', 'middle' : 1, 'tail' : ['d', 4]}

Nous pouvons voir d'après les résultats que HEAD correspond à un caractère et TAIL correspond à deux caractères. Lors de la sortie, s'il y a plusieurs caractères, le résultat sera donné sous la forme d'un tableau.

Résumé

Les exemples de Pampy sont très simples et tout le monde peut les comprendre après les avoir lus. En regardant quelques exemples, avez-vous le sentiment : Wow, il existe de tels artefacts !

Bien sûr, Pampy propose bien plus que quelques façons de faire correspondre des motifs, et il existe d'autres façons que tout le monde peut explorer.

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