python 实现字典树_Python实现简单字典树的方法
本文实例讲述了Python实现简单字典树的方法。分享给大家供大家参考,具体如下:
#coding=utf8
"""代码实现了最简单的字典树,只支持由小写字母组成的字符串。
在此代码基础上扩展一下,就可以实现比较复杂的字典树,比如带统计数的,或支持更多字符的字典树,
或者是支持删除等操作。
"""
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程序设计有所帮助。
python 实现字典树_Python实现简单字典树的方法相关推荐
- python树的实现_Python实现简单字典树的方法
本文实例讲述了Python实现简单字典树的方法.分享给大家供大家参考,具体如下: #coding=utf8 """代码实现了最简单的字典树,只支持由小写字母组成的字符串. ...
- python 字典处理_Python 6 个字典操作你必须知道
原标题:Python 6 个字典操作你必须知道 key是否存在 使用in关键字判断key是否存在字典中 不要使用key in d.keys(), 这是一种画蛇添足的操作,因为d.keys()会返回一个 ...
- python字典编码_Python列表,字典,元组,字符串操作,文件操作,字符编码
1. 列表操作 1.1 列表的定义: names = ["wangjing", "wangjun", "hashiqi"] names[0] ...
- python编写字典库_Python中的字典及举例-阿里云开发者社区
字典 字典是python中的唯一的映射类型(哈希表) 字典对象是可变的,但是字典的键必须使用不可变对象,一个字典中可以使用不同类型的键值. 字典的方法 keys() values() items() ...
- python获取字典长度_Python中的字典
1 字典的定义 dictionary(字典) 是 除列表以外Python之中 最灵活的数据类型 字典同样可以用来 存储多个数据 通常用于存储 描述一个 物体的相关信息 和列表的区别 列表是 有序的对象 ...
- python坦克大战游戏_python实现简单坦克大战
基于对面向对象编程的思想完成简单的坦克大战游戏.主要目的锻炼面相对象编程思想 同样的在使用python进行游戏编写时需要安装pygame模块 安装方法: pycharm安装方式:File --> ...
- python参数化_Python unittest 简单实现参数化的方法
Python unittest 理论上是不建议参数驱动的,其用例应该专注单元测试,确保每个method的逻辑正确. 引用Stack Overflow的一个答案, "单元测试应该是独立的,没有 ...
- python最简单的架构_Python实现简单状态框架的方法
本文实例讲述了Python实现简单状态框架的方法.分享给大家供大家参考.具体分析如下: 这里使用Python实现一个简单的状态框架,代码需要在python3.2环境下运行 复制代码 代码如下: fro ...
- python 电脑状态_Python实现简单状态框架的方法 -电脑资料
作者:chongq 字体:[增加 减小] 类型:转载 这篇文章主要介绍了Python实现简单状态框架的方法,涉及Python状态框架的实现技巧,具有一定参考借鉴价值,需要的朋友可以参考下 本文实例讲述 ...
最新文章
- 条款39:明智而审慎的使用private继承
- 图像处理之简单脸谱检测算法
- node.js-------使用路由模块
- 文本预处理跑得慢?抱抱脸团队又放福利,1GB文本语料分词只需20s!
- 如何免费的让网站启用HTTPS
- 《Windows服务器配置与管理》文件系统管理
- SAP License:SAP货币转换
- Keras一些基本概念
- 为什么下载mysql找不到installer文件呀_PythonMySQL系列1(安装Mysql)
- Pandas数据分析3-统计、可视化、创建数据框、时间序列、删除数据
- 转行学IT,你真的准备好了吗?
- 程序员必须了解的10大技术搜索引擎
- **time_limited.sof文件
- powerVR使用说明
- ABC分析做法、步骤、Pareto图制作方法解说
- 一篇文章告诉你大数据的重要性
- 又一家中国IC进军IPO:年出货上亿颗,在做Type-C 8K芯片
- Cesium 相机视角控制
- 关于计算优惠券金额的部分优化
- 大一计算机专业考什么证书,计算机专业大一的学生能考什么证书?