python中列表比词典的查找操作插入要慢很多?
来源:学生作业帮 编辑:作业帮 分类:综合作业 时间:2024/05/22 00:44:41
python中列表比词典的查找操作插入要慢很多?
对比代码如下,dic为词典,dic2为列表.
corpus_for_ass3train-EM.txt是我的训练语料,大概20000行,词汇量(不算重复)为55000+左右.dic的话基本是秒速统计完毕,dic2取要用3分钟左右.
我觉得是由于词典使用hash表而list每次in操作都要重头查找所以慢.
求更准确更详尽的分析
dic = {}
dic2 = []
trainFile = open("corpus_for_ass3train-EM.txt")
lines = trainFile.readlines()
for line in lines:
if len(line.strip()) == 0: continue
words = line.split()
for word in words:
if not word in dic:
dic[word] = 1
else:
dic[word] += 1
if not word in dic2:
dic2.append(word)
对比代码如下,dic为词典,dic2为列表.
corpus_for_ass3train-EM.txt是我的训练语料,大概20000行,词汇量(不算重复)为55000+左右.dic的话基本是秒速统计完毕,dic2取要用3分钟左右.
我觉得是由于词典使用hash表而list每次in操作都要重头查找所以慢.
求更准确更详尽的分析
dic = {}
dic2 = []
trainFile = open("corpus_for_ass3train-EM.txt")
lines = trainFile.readlines()
for line in lines:
if len(line.strip()) == 0: continue
words = line.split()
for word in words:
if not word in dic:
dic[word] = 1
else:
dic[word] += 1
if not word in dic2:
dic2.append(word)
翻任意一本数据结构和算法分析的书,里面都有顺序表查找和Hash表查找的例子,以及理论分析.顺序表的话平均查找时间为O(n),hash表查找时间为O(1).还有插入的时间没有算在内.
python的字典操作的详细实现,我查过,在《代码之美》一书里面有python的设计人员的详细分析.我们几句话讲不清楚.
还有就是你的程序如果只是希望记录不重复的单词,用set对象代码可以更好看一点.
python的字典操作的详细实现,我查过,在《代码之美》一书里面有python的设计人员的详细分析.我们几句话讲不清楚.
还有就是你的程序如果只是希望记录不重复的单词,用set对象代码可以更好看一点.
python中列表比词典的查找操作插入要慢很多?
python如何统计列表的长度
关于一个python列表转化成字典的问题
python中string的操作里ljust等到底是什么意思啊
python中,一个列表为l=range(10),那么l[2:4:6]是多少,像这样子分割列表得出的结果该怎么解释呢,
Python判断一个字符串X是否存在于词典{}中
python字典列表和列表字典
从生物学或科普书刊中查找几种食品的元素组成,并列表说明
一个很简单的python里的词典问题
python 中,字典中的kay与list列表中的值比较,有相同的,则把相同的字典重新添加到新的字典中.
C++ 语言:用折半查找法查找在一个非递减整数序列中插入的一个整数!
百度词典查找谈笑风生的意思