<kbd id="afajh"><form id="afajh"></form></kbd>
<strong id="afajh"><dl id="afajh"></dl></strong>
    <del id="afajh"><form id="afajh"></form></del>
        1. <th id="afajh"><progress id="afajh"></progress></th>
          <b id="afajh"><abbr id="afajh"></abbr></b>
          <th id="afajh"><progress id="afajh"></progress></th>

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

          共 2075字,需瀏覽 5分鐘

           ·

          2021-02-28 20:35

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

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

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

          下面是一個使用例子:

          1.安裝



          趕緊讓我們來試一下,安裝Pampy前,你要確保Python和pip已經(jīng)成功安裝在電腦上噢,如果沒有,請訪問這篇文章:超詳細Python安裝指南

          打開Cmd(開始—運行—CMD)或Terminal(command+空格輸入Terminal). 輸入以下命令安裝Pampy:

          pip install pampy


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

          2.使用



          特性1:HEAD 和 TAIL

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

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

          from pampy import match, HEAD, TAIL, _
          x = [-1, -2, -3, 0, 1, 2, 3]
          print(match(x, [-1, TAIL], lambda t: [-1, tuple(t)]))
          # => [-1, (-2, -3, 0, 1, 2, 3)]


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

          from pampy import match, HEAD, TAIL, _

          x = [-1, -2, -3, 0, 1, 2, 3]

          print(match(x, [HEAD, _, _, 0, TAIL], lambda h, a, b, t: (set([h, a, b]), tuple(t))))

          # => ({-3, -1, -2}, (1, 2, 3))


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

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

          from pampy import match, HEAD, TAIL, _

          my_dict = {
              'global_setting': [1, 3, 3],
              'user_setting': {
                  'face': ['beautiful', 'ugly'],
                  'mind': ['smart', 'stupid']
              }
          }

          result = match(my_dict, { _: {'face': _}}, lambda key, son_value: (key, son_value))

          print(result)

          # => ('user_setting', ['beautiful', 'ugly'])


          特性3: 搭配正則

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

          import re

          from pampy import match, HEAD, TAIL, _

          def what_is(pet):
              return match(
                  pet, re.compile('(\w+),(\w)\w+鱈魚$'), lambda mygod, you: you + "像鱈魚"
              )

          print(what_is('我的天,你長得真像鱈魚'))
          # => '你像鱈魚'


          如果你喜歡今天的Python 教程,請持續(xù)關(guān)注Python實用寶典,如果對你有幫助,麻煩在下面點一個贊/在看,有任何問題都可以在下方留言,我們會耐心解答的!


          點擊下方閱讀原文可以獲取所有代碼和鏈接哦!

          Python實用寶典 (pythondict.com)

          不只是一個寶典

          歡迎關(guān)注公眾號:Python實用寶典
          瀏覽 46
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          評論
          圖片
          表情
          推薦
          點贊
          評論
          收藏
          分享

          手機掃一掃分享

          分享
          舉報
          <kbd id="afajh"><form id="afajh"></form></kbd>
          <strong id="afajh"><dl id="afajh"></dl></strong>
            <del id="afajh"><form id="afajh"></form></del>
                1. <th id="afajh"><progress id="afajh"></progress></th>
                  <b id="afajh"><abbr id="afajh"></abbr></b>
                  <th id="afajh"><progress id="afajh"></progress></th>
                  国产麻豆精品成人毛片 | 最新中文字幕在线免费观看 | www黄色网址 | 日韩毛片一级 | 麻豆三级片在线播放 |