精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

Python強大的模式匹配工具—Pampy的使用

python爬蟲知識分享 ? 來源:python爬蟲知識分享 ? 作者:python爬蟲知識分享 ? 2022-06-17 16:54 ? 次閱讀

在自然語言處理界,模式匹配可以說是最常用的技術。甚至可以說,將NLP技術作為真實生產力的項目都少不了模式匹配

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

實現模式匹配往往都是用正則表達式,但是如果你想識別特別復雜的模式,編寫正則表達式就會變得非常非常麻煩。而Pampy這個項目能解決你不少的煩惱。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.準備

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

如果你用Python的目的是數據分析,可以直接安裝Anaconda, 它內置了Python和pip.

請選擇以下任一種方式輸入命令安裝依賴
1. Windows 環境 打開 Cmd (開始-運行-CMD)。
2. MacOS 環境 打開 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)]

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

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('我的天,你長得真像鱈魚'))
# => '你像鱈魚'

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • python
    +關注

    關注

    56

    文章

    4783

    瀏覽量

    84474
收藏 人收藏

    評論

    相關推薦

    Python編程:處理網絡請求的代理技術

    在網絡編程中,代理技術扮演著至關重要的角色,尤其在處理網絡請求時。通過代理服務器,我們可以實現請求的轉發、緩存、負載均衡以及安全控制等功能。Python作為一種功能強大的編程語言,為提供了豐富的工具和庫,以便敏捷地實現和處理網絡
    的頭像 發表于 11-12 07:23 ?137次閱讀

    手寫圖像模板匹配算法在OpenCV中的實現

    OpenCV中的模板匹配是支持基于NCC相似度查找的,但是不是很好用,一個主要的原因是查找最大閾值,只能匹配一個,自己比對閾值,又導致無法正確設定閾值范圍,所以問題很多。于是我重新寫了純Python版本的NCC圖像模板
    的頭像 發表于 11-11 10:12 ?183次閱讀
    手寫圖像模板<b class='flag-5'>匹配</b>算法在OpenCV中的實現

    P2link——強大的內網穿透和遠程訪問工具

    P2Link作為一款強大的內網穿透和遠程訪問工具,可以幫助用戶輕松實現網絡連接和數據傳輸。特別適用于在復雜網絡環境中需要遠程訪問內網資源的場景,如遠程辦公、設備管理和云服務等。
    的頭像 發表于 11-01 14:21 ?238次閱讀

    第二屆大會回顧第25期 | OpenHarmony上的Python設備應用開發

    Python以其簡單、易學和功能強大而聞名,有著廣泛的用戶群體。采用Python開發有助于降低OpenHarmony的學習門檻。如何在OpenHarmony上用Python開發設備應用
    的頭像 發表于 08-27 11:53 ?647次閱讀
    第二屆大會回顧第25期 | OpenHarmony上的<b class='flag-5'>Python</b>設備應用開發

    使用Python批量連接華為網絡設備

    隨著網絡規模的擴大和設備數量的增加,手動配置和管理每臺網絡設備變得越來越不現實。因此,自動化工具和腳本變得尤為重要。Python語言以其簡潔性和強大的第三方庫支持,成為了網絡自動化領域的首選。本篇文章將詳細介紹如何使用
    的頭像 發表于 08-12 17:48 ?420次閱讀

    pytorch和python的關系是什么

    在當今的人工智能領域,Python已經成為了最受歡迎的編程語言之一。Python的易學易用、豐富的庫和框架以及強大的社區支持,使其成為了數據科學、機器學習和深度學習等領域的首選語言。而在深度學習領域
    的頭像 發表于 08-01 15:27 ?1740次閱讀

    Python建模算法與應用

    Python作為一種功能強大、免費、開源且面向對象的編程語言,在科學計算、數學建模、數據分析等領域展現出了卓越的性能。其簡潔的語法、對動態輸入的支持以及解釋性語言的本質,使得Python在多個平臺
    的頭像 發表于 07-24 10:41 ?470次閱讀

    Python在人工智能領域的應用

    功能強大的編程語言,成為了人工智能研究和開發的首選工具之一。本文將深入探討Python在人工智能領域的廣泛應用,分析其優勢、具體應用案例以及未來的發展趨勢。
    的頭像 發表于 07-02 18:20 ?1040次閱讀

    如何使用Python進行神經網絡編程

    。 為什么使用PythonPython是一種廣泛使用的高級編程語言,以其易讀性和易用性而聞名。Python擁有強大的庫,如TensorFlow、Keras和PyTorch,這些庫提
    的頭像 發表于 07-02 09:58 ?368次閱讀

    常見的數據采集工具的介紹

    Scraping) 網絡爬蟲是一種自動化的程序,用于從互聯網上提取信息。它們可以訪問網頁,解析HTML內容,并從中提取所需的數據。 Scrapy : 一個快速且強大Python框架,用于抓取網站數據。 Beautiful Soup : 一個
    的頭像 發表于 07-01 14:51 ?703次閱讀

    華為云正式發布CodeArts IDE for Python

    近日,華為云正式發布CodeArts IDE for Python,這是一款內置華為自主創新的Python語言服務,提供智能編程、靈活調試能力的可擴展桌面開發工具,為華為云開發者提供卓越Pyt
    的頭像 發表于 05-08 14:58 ?464次閱讀

    Python自動化測試框架及其應用

    Pytest是一個非常成熟的全功能的Python測試框架,與python自帶的unittest測試框架類似,但是比unittest框架使用起來更簡潔,功能更強大
    的頭像 發表于 04-03 16:15 ?517次閱讀
    <b class='flag-5'>Python</b>自動化測試框架及其應用

    虹科分享 | PCAN工具強大的CAN通訊解決方案,你了解多少?

    在當今的汽車和工業自動化領域,可靠的通訊系統至關重要,虹科PCAN工具為這些應用提供了強大的支持。本文將介紹虹科PCAN工具的功能、應用和優勢,幫助您根據實際需求選擇合適的工具和配件。
    的頭像 發表于 02-02 09:54 ?791次閱讀
    虹科分享 | PCAN<b class='flag-5'>工具</b>:<b class='flag-5'>強大</b>的CAN通訊解決方案,你了解多少?

    如何使用linux下gdb來調試python程序

    如何使用linux下gdb來調試python程序? 在Linux下,可以使用GDB(GNU調試器)來調試Python程序。GDB是一個強大的調試工具,可以幫助開發者診斷和修復程序中的錯
    的頭像 發表于 01-31 10:41 ?2437次閱讀

    eda工具軟件有哪些 EDA工具有什么優勢

    和預測提供基礎。在進行EDA過程中,使用合適的工具軟件可以顯著提升效率和準確性。本文將介紹幾種常見的EDA工具軟件。 Python和其相關的庫 Python是一種廣泛使用的編程語言,擁
    的頭像 發表于 01-30 13:57 ?1106次閱讀