Pampy 超強的模式匹配工具

2021-10-22 05:15:49 字數 1861 閱讀 5572

模式匹配即給定某種模式,用這種模式去檢查序列或字串是否符合這種模式,這種技術在自然語言處理中經常使用。

pip install pampy
以下**可以完成單個字元在物件中的匹配,使用_表示匹配結果。

from pampy import _,match

a=['a',1,'b',2,'c',3,'d',4]

patter = ['a',1,'b',2,'c',3,'d',_]

action=lambda x: f'result is: '

print(match(a,patter,action))

執行結果:

>>> python test.py

>>> result is: 4

對於開頭或者結尾連續的物件,我們可以使用這種方式實現快速匹配。

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,b,t: ()

print(match(a,patter,action))

執行結果:

>>> python test.py

>>> 

以上,我們使用head匹配了開頭的若干字元,中間使用_匹配了某個數字,結尾我們使用tail配了若干字元。

當我們只知道某個字典的部分內容,卻想要得到某個value的key時,用這種方式事半功倍。

from pampy import _,match,head,tail

my_dic=,

'language':

}patter = } 

action=lambda a,b: 

print(match(my_dic,patter,action))

執行結果:

>>> python test.py

>>> 

如上,我們已經匹配到了字典的第一層和第二層的key值。

如上面的例子,我們的模式一定要保持字典結構的完整。

往期推薦

metersphere | 超好用的開源測試平台

doctest | 超簡單的單元測試工具

9 種方法 | 提高國內訪問 github 的速度

fastapi-01-初識

fastapi-02-路徑引數

fastapi-03-查詢引數

fastapi-04-請求體-1

fastapi-05-請求體-2

fastapi-06-請求體-3

fastapi-07-查詢引數校驗

fastapi-08-路徑引數校驗

fastapi-09-模型巢狀

fastapi-10-example

fastapi-11-模板渲染

fastapi-12-form表單

fastapi-13-檔案上傳-1

fastapi-14-檔案上傳-2

網頁長截屏竟如此簡單

jmeter怎麼獲取token?

python-10-檔案讀寫

100個python例項,從入門到入土!

文章好看點這裡

模式匹配 關於模式匹配的演算法實現2

參照我上篇部落格,只不過多了乙個識別率的演算法而已,還是參考歸併排序寫的,很簡單。上篇部落格位址 很多的解釋都在 裡面了,各位看看就明白了 author seen time 2015 09 20 include include include using namespace std struct p...

簡單模式匹配演算法 串的模式匹配

一 對乙個串中的某子串的定位操作稱為串的模式匹配 二 模式串 待定位的子串 三 基本思想 從主串中的第乙個位置起和模式串的第乙個字元開始比較 如果相等,則繼續比較後續字元 如果不等,則從主串的第二個字元起,重新用上一步的方法與模式串中的字元作比較 以此類推,直到比較完模式串的所有字元,則匹配成功,返...

串的模式匹配

最近在學 vc include stdafx.h include include define max size 1000 串的模式匹配 功能 找出str2字串在str1字串中第一次出現的位置 不包括串結束符 返回 該位置的序號 環境 visual c 2008 注意 1.此為樸素的模式匹配演算法,...