#これを使用すると、コード作成効率が向上することを名誉をかけて保証します。
Pampy とは何ですか?
まず、パターン マッチングを普及させます。
パターンマッチングとは、あるパターンを与え、そのパターンを用いて配列や文字列がそのパターンに適合するかどうかを調べることで、自然言語処理でよく使われる技術です。
Pampy は Python 用のパターン マッチング ライブラリで、わずか 150 行のライブラリです。このライブラリはエレガントで効率的で、Python コーダーの基本的な開発スタックに追加する価値があります。
偶然にも、このプログラムには、Pampy.js という同じ名前の JavaScript バージョンのライブラリもあります。
興味があれば、ソース コードを読んで、他の開発言語にコピーすることができます。
このライブラリをインストールする方法も決まり文句です:
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))
実行結果は次のとおりです:
上記の例からわかるように、実際には _ をプレースホルダーとして使用しているだけです。一致する場合は、対応する要素を見つけます。
辞書の照合
マルチレベル辞書の任意のレベルでキーまたは値を照合できます:
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 サイトの他の関連記事を参照してください。