ホームページ >バックエンド開発 >Python チュートリアル >このニシキヘビのアーティファクトを使用すると、長期間魚を捕まえることができます。

このニシキヘビのアーティファクトを使用すると、長期間魚を捕まえることができます。

WBOY
WBOY転載
2023-04-11 20:07:221129ブラウズ

このニシキヘビのアーティファクトを使用すると、長期間魚を捕まえることができます。

#これを使用すると、コード作成効率が向上することを名誉をかけて保証します。


Pampy とは何ですか?


まず、パターン マッチングを普及させます。


パターンマッチングとは、あるパターンを与え、そのパターンを用いて配列や文字列がそのパターンに適合するかどうかを調べることで、自然言語処理でよく使われる技術です。


Pampy は Python 用のパターン マッチング ライブラリで、わずか 150 行のライブラリです。このライブラリはエレガントで効率的で、Python コーダーの基本的な開発スタックに追加する価値があります。


偶然にも、このプログラムには、Pampy.js という同じ名前の JavaScript バージョンのライブラリもあります。


興味があれば、ソース コードを読んで、他の開発言語にコピーすることができます。


このライブラリをインストールする方法も決まり文句です:


    pip install pampy

Pampy の派手なショー


単一の文字と一致する


#_ を使用して単一の文字と一致することができます:

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))

実行結果は次のとおりです:


    b は: 2

上記の例からわかるように、実際には _ をプレースホルダーとして使用しているだけです。一致する場合は、対応する要素を見つけます。


辞書の照合


マルチレベル辞書の任意のレベルでキーまたは値を照合できます:

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

実行結果は次のとおりです:


    {'k1': 'address', 'k2': 'city'}

前の例と同様に、_ プレースホルダーは次のとおりです。ここでプレースホルダーを使用し、アクション内でプレースホルダーを見つけて結果を出力します。


先頭と末尾を一致させる


上記の例では、プレースホルダーを使用して場所を占めていますが、プレースホルダーは 1 文字のみと一致します。次の例では、先頭と末尾を一致させるには、2 つのキーワード HEAD と TAIL を使用します。任意の数の文字に一致させることができます:

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))

上記の例を実行すると、結果は次のようになります:


    {'head': 'a', 'middle': 1, 'tail': ['d', 4]}
結果から、HEAD は文字に一致し、TAIL は文字に一致することがわかります。出力する際、文字が複数ある場合は配列形式で出力されます。


概要


パンピーの例は非常にシンプルで、読めば誰でも理解できます。いくつかの例を見て、「へー、こんな成果物があるんだ!」と感じたことはありませんか。


もちろん、Pampy にはパターン マッチングの方法がいくつかあるだけではなく、誰もが探索できる方法が他にもあります。

以上がこのニシキヘビのアーティファクトを使用すると、長期間魚を捕まえることができます。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事は51cto.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。