亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

Python實現(xiàn)簡單字典樹的方法

 更新時間:2016年04月29日 11:43:34   作者:阿涵-_-  
這篇文章主要介紹了Python實現(xiàn)簡單字典樹的方法,實例分析了Python字典樹的定義、實現(xiàn)與使用技巧,需要的朋友可以參考下

本文實例講述了Python實現(xiàn)簡單字典樹的方法。分享給大家供大家參考,具體如下:

#coding=utf8
"""代碼實現(xiàn)了最簡單的字典樹,只支持由小寫字母組成的字符串。
在此代碼基礎上擴展一下,就可以實現(xiàn)比較復雜的字典樹,比如帶統(tǒng)計數(shù)的,或支持更多字符的字典樹,
或者是支持刪除等操作。
"""
class TrieNode(object):
  def __init__(self):
    # 是否構成一個完成的單詞
    self.is_word = False
    self.children = [None] * 26
class Trie(object):
  def __init__(self):
    self.root = TrieNode()
  def add(self, s):
    """Add a string to this trie."""
    p = self.root
    n = len(s)
    for i in range(n):
      if p.children[ord(s[i]) - ord('a')] is None:
        new_node = TrieNode()
        if i == n - 1:
          new_node.is_word = True
        p.children[ord(s[i]) - ord('a')] = new_node
        p = new_node
      else:
        p = p.children[ord(s[i]) - ord('a')]
        if i == n - 1:
          p.is_word = True
          return
  def search(self, s):
    """Judge whether s is in this trie."""
    p = self.root
    for c in s:
      p = p.children[ord(c) - ord('a')]
      if p is None:
        return False
    if p.is_word:
      return True
    else:
      return False
if __name__ == '__main__':
  trie = Trie()
  trie.add('str')
  trie.add('acb')
  trie.add('acblde')
  print trie.search('acb')
  print trie.search('ac')
  trie.add('ac')
  print trie.search('ac')

更多關于Python相關內(nèi)容可查看本站專題:《Python字典操作技巧匯總》、《Python正則表達式用法總結(jié)》、《Python數(shù)據(jù)結(jié)構與算法教程》、《Python Socket編程技巧總結(jié)》、《Python函數(shù)使用技巧總結(jié)》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • 利用Pygame制作簡單動畫的示例詳解

    利用Pygame制作簡單動畫的示例詳解

    Pygame是被設計用來寫游戲的python模塊集合,Pygame是在優(yōu)秀的SDL庫之上開發(fā)的功能性包。本文將利用Pygame制作簡易的動畫,感興趣的可以學習一下
    2022-05-05
  • pytest配置文件pytest.ini的詳細使用

    pytest配置文件pytest.ini的詳細使用

    這篇文章主要介紹了pytest配置文件pytest.ini的詳細使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-04-04
  • Django給admin添加Action的步驟詳解

    Django給admin添加Action的步驟詳解

    這篇文章主要給大家介紹了關于Django給admin添加Action的相關資料,文中通過示例代碼介紹的非常詳細,對大家學習或者使用Django具有一定的參考學習價值,需要的朋友們下面來一起學習學習吧
    2019-05-05
  • Python建立Map寫Excel表實例解析

    Python建立Map寫Excel表實例解析

    這篇文章主要介紹了Python建立Map寫Excel表實例解析,具有一定借鑒價值,需要的朋友可以參考下
    2018-01-01
  • Python中排序函數(shù)sorted()函數(shù)的使用實例

    Python中排序函數(shù)sorted()函數(shù)的使用實例

    sorted()作為Python內(nèi)置函數(shù)之一,其功能是對序列(列表、元組、字典、集合、還包括字符串)進行排序,下面這篇文章主要給大家介紹了關于Python中排序函數(shù)sorted()函數(shù)的相關資料,需要的朋友可以參考下
    2022-11-11
  • python requests 庫請求帶有文件參數(shù)的接口實例

    python requests 庫請求帶有文件參數(shù)的接口實例

    今天小編就為大家分享一篇python requests 庫請求帶有文件參數(shù)的接口實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • 詳解Django關于StreamingHttpResponse與FileResponse文件下載的最優(yōu)方法

    詳解Django關于StreamingHttpResponse與FileResponse文件下載的最優(yōu)方法

    這篇文章主要介紹了詳解Django關于StreamingHttpResponse與FileResponse文件下載的最優(yōu)方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2021-01-01
  • 老生常談進程線程協(xié)程那些事兒

    老生常談進程線程協(xié)程那些事兒

    下面小編就為大家?guī)硪黄仙U勥M程線程協(xié)程那些事兒。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-07-07
  • python用ConfigObj讀寫配置文件的實現(xiàn)代碼

    python用ConfigObj讀寫配置文件的實現(xiàn)代碼

    發(fā)現(xiàn)一個簡單而又強大的讀寫配置文件的lib,個人覺得最大的亮點在于自帶的格式校驗功能,并且支持復雜的嵌套格式,而且使用起來也相當?shù)暮啽?/div> 2013-03-03
  • 在Django的上下文中設置變量的方法

    在Django的上下文中設置變量的方法

    這篇文章主要介紹了在Django的上下文中設置變量的方法,Django是重多Python高人氣框架中最為著名的一個,需要的朋友可以參考下
    2015-07-07

最新評論