91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

Python強(qiáng)大的模式匹配工具—Pampy的使用

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-06-17 16:54 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在自然語言處理界,模式匹配可以說是最常用的技術(shù)。甚至可以說,將NLP技術(shù)作為真實(shí)生產(chǎn)力的項(xiàng)目都少不了模式匹配。

什么是模式匹配呢?在計(jì)算機(jī)科學(xué)中,往往是檢查給定的序列或字符串中是否有符合某種模式的片段。比如說:“啊,你的AK-47打得真準(zhǔn)”,如果我們將 “啊,你的_____打得真準(zhǔn) ” 作為一種模式,則會將AK-47匹配出來。

實(shí)現(xiàn)模式匹配往往都是用正則表達(dá)式,但是如果你想識別特別復(fù)雜的模式,編寫正則表達(dá)式就會變得非常非常麻煩。而Pampy這個項(xiàng)目能解決你不少的煩惱。https://github.com/santinic/pampy

下面是一個使用例子:

from pampy import match, _
input = [1, 2, 3]
pattern = [1, 2, _]
action = lambda x: "it's {}".format(x)
match(input, pattern, action)

1.準(zhǔn)備

開始之前,你要確保Pythonpip已經(jīng)成功安裝在電腦上。

如果你用Python的目的是數(shù)據(jù)分析,可以直接安裝Anaconda, 它內(nèi)置了Python和pip.

請選擇以下任一種方式輸入命令安裝依賴
1. Windows 環(huán)境 打開 Cmd (開始-運(yùn)行-CMD)。
2. MacOS 環(huán)境 打開 Terminal (command+空格輸入Terminal)。
3. 如果你用的是 VSCode編輯器 或 Pycharm,可以直接使用界面下方的Terminal.

pip installpampy

看到 Successfully installed pampy-0.3.0 則說明安裝成功。

2.使用

特性1:HEAD 和 TAIL

HEAD和TAIL能代表某個模式的前面部分或后面部分。

比如將特定模式后的元素都變成元組:

frompampy importmatch, HEAD, TAIL, _
x = [-1, -2, -3, 0, 1, 2, 3]
print(match(x, [-1, TAIL], lambdat: [-1, tuple(t)]))
# => [-1, (-2, -3, 0, 1, 2, 3)]

將特定模式前的元素設(shè)為集合,后面的元素設(shè)為元組:

frompampy importmatch, HEAD, TAIL, _
x = [-1, -2, -3, 0, 1, 2, 3]
print(match(x, [HEAD, _, _, 0, TAIL], lambdah, a, b, t: (set([h, a, b]), tuple(t))))
# => ({-3, -1, -2}, (1, 2, 3))

特性2:甚至能匹配字典中的鍵

在你不知道哪個鍵下有某個值的時候,這招非常好用:

frompampy importmatch, HEAD, TAIL, _
my_dict = {
'global_setting': [1, 3, 3],
'user_setting': {
'face': ['beautiful', 'ugly'],
'mind': ['smart', 'stupid']
}
}
result = match(my_dict, { _: {'face': _}}, lambdakey, son_value: (key, son_value))
print(result)
# => ('user_setting', ['beautiful', 'ugly'])

特性3: 搭配正則

不僅如此,它還能搭配正則一起使用哦:

importrefrompampy importmatch, HEAD, TAIL, _
defwhat_is(pet):
    returnmatch(
    pet, re.compile('(\w+),(\w)\w+鱈魚$'), lambdamygod, you: you + "像鱈魚"
    )
print(what_is('我的天,你長得真像鱈魚'))
# => '你像鱈魚'

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • python
    +關(guān)注

    關(guān)注

    57

    文章

    4876

    瀏覽量

    90025
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    【瑞薩RA6E2地奇星開發(fā)板試用】基于RA6E2+ESP8266在STA模式下數(shù)據(jù)透傳到Python服務(wù)器整體系統(tǒng)演示總結(jié)

    基于RA6E2+ESP8266在STA模式下數(shù)據(jù)透傳到Python服務(wù)器整體系統(tǒng)演示總結(jié) 1. 需求描述 1.1. 系統(tǒng)實(shí)現(xiàn)概述 使用RA6E2驅(qū)動 esp8266 WiFi模塊, 用串口調(diào)試助手
    發(fā)表于 12-28 20:16

    沒有專利的opencv-python 版本

    保留基礎(chǔ)功能,完全免費(fèi)合規(guī)),支持 Python 3.13 的版本為 4.8.0.74 及以上,安裝命令: # 清華源加速,安裝最新穩(wěn)定版(自動匹配 Python 3.13) pip install
    發(fā)表于 12-13 12:37

    Termux中調(diào)試圣誕樹Python代碼

    調(diào)試代碼(逐行執(zhí)行) 用Python交互模式: 輸入python回車,進(jìn)入>>>交互界面; 逐行輸入代碼,比如: >>>
    發(fā)表于 12-09 09:02

    termux調(diào)試python猜數(shù)字游戲

    用termux做一個猜數(shù)字游戲 下面是在Termux中創(chuàng)建猜數(shù)字游戲的步驟及完整實(shí)現(xiàn)方案,結(jié)合Python實(shí)現(xiàn)(最適配Termux環(huán)境): ? 一、環(huán)境準(zhǔn)備(Termux基礎(chǔ)配置) 1.
    發(fā)表于 08-29 17:15

    termux如何搭建python游戲

    安裝Python及包管理工具 ```bash apt install -y python python-pip# 自動安裝Python3
    發(fā)表于 08-29 07:06

    低功耗測量工具案例:使用 Nordic nRF9151-DK 開發(fā)板測量LTE不同節(jié)能模式

    如何為IoT選擇節(jié)能模式? PSM和eDRX分別適合的應(yīng)用場景是什么?本文使用Python腳本測試不同的LTE節(jié)能模式
    的頭像 發(fā)表于 08-06 09:01 ?843次閱讀
    低功耗測量<b class='flag-5'>工具</b>案例:使用 Nordic nRF9151-DK 開發(fā)板測量LTE不同節(jié)能<b class='flag-5'>模式</b>

    python app不能運(yùn)行怎么解決?

    ;python_agent[1241]: xmlrpc request method supervisor.stopProcess failed;python_agent[1241]: xmlrpc request method supervisor.stopProces
    發(fā)表于 08-06 06:27

    C++ 與 Python:樹莓派上哪種語言更優(yōu)?

    Python是樹莓派上的首選編程語言,我們的大部分教程都使用它。然而,C++在物聯(lián)網(wǎng)項(xiàng)目中同樣廣受歡迎且功能強(qiáng)大。那么,在樹莓派項(xiàng)目中選擇哪種語言更合適呢?Python因其簡潔性、豐富的庫和資源而被
    的頭像 發(fā)表于 07-24 15:32 ?947次閱讀
    C++ 與 <b class='flag-5'>Python</b>:樹莓派上哪種語言更優(yōu)?

    雙工不匹配如何修復(fù)它

    ,確保所有相關(guān)設(shè)備的雙工模式一致,例如都設(shè)置為全雙工或半雙工。 啟用自動協(xié)商功能:推薦在所有端口啟用自協(xié)商功能,以便設(shè)備能夠自動匹配最佳的雙工模式和速度。現(xiàn)代設(shè)備通常支持智能匹配,可以
    的頭像 發(fā)表于 07-02 09:46 ?615次閱讀

    是德示波器DSOX3012A滾動模式設(shè)置指南

    是德示波器DSOX3012A作為一款高性能數(shù)字示波器,其滾動模式(Rolling Mode)為工程師提供了實(shí)時監(jiān)測動態(tài)信號變化的強(qiáng)大工具。本文將結(jié)合設(shè)備操作邏輯與工程實(shí)踐,詳細(xì)闡述滾動模式的設(shè)置步驟
    的頭像 發(fā)表于 05-13 15:55 ?718次閱讀
    是德示波器DSOX3012A滾動<b class='flag-5'>模式</b>設(shè)置指南

    基于LockAI視覺識別模塊:C++模板匹配

    模板匹配是一種在圖像中尋找特定模式的技術(shù)。它通過滑動一個模板圖像(較小的圖像)在輸入圖像上進(jìn)行比較,找到最相似的區(qū)域。本實(shí)驗(yàn)提供了一個簡單的模板匹配案例,并將其封裝為一個自定義函數(shù)performTemplateMatching,
    的頭像 發(fā)表于 05-13 14:14 ?782次閱讀
    基于LockAI視覺識別模塊:C++模板<b class='flag-5'>匹配</b>

    python入門圣經(jīng)-高清電子書(建議下載)

    和Pygal 等強(qiáng)大Python 庫和工具介紹,以及列表、字典、if 語句、類、文件與異常、代碼測試等內(nèi)容; 第二部分將理論付諸實(shí)踐,講解如何開發(fā)三個項(xiàng)目,包括簡單的Python
    發(fā)表于 04-10 16:53

    如何確保模擬示波器的輸入阻抗匹配

    輸入阻抗匹配是確保信號完整性和測量精度的關(guān)鍵。模擬示波器通常提供 1 MΩ ± x%(高阻)和 50 Ω 兩種輸入阻抗模式,需根據(jù)被測信號特性選擇匹配模式。以下是確保
    發(fā)表于 04-08 15:25

    ?如何在虛擬環(huán)境中使用 Python,提升你的開發(fā)體驗(yàn)~

    。RaspberryPiOS預(yù)裝了Python3。干擾系統(tǒng)Python的安裝可能會給你的操作系統(tǒng)帶來問題。安裝第三方Python庫時,請務(wù)必使用正確的包管理工具。在Lin
    的頭像 發(fā)表于 03-25 09:34 ?811次閱讀
    ?如何在虛擬環(huán)境中使用 <b class='flag-5'>Python</b>,提升你的開發(fā)體驗(yàn)~

    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行Python程序?

    在這篇文章中,我將為你簡要介紹Python程序是什么、Python程序可以用來做什么,以及如何在RaspberryPi上編寫和運(yùn)行一個簡單的Python程序。什么是Python程序?
    的頭像 發(fā)表于 03-25 09:27 ?2032次閱讀
    零基礎(chǔ)入門:如何在樹莓派上編寫和運(yùn)行<b class='flag-5'>Python</b>程序?