模式匹配即給定某種模式,用這種模式去檢查序列或字串是否符合這種模式,這種技術在自然語言處理中經常使用。
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.此為樸素的模式匹配演算法,...