python - Python 中的堆法则

标签 python

我正在尝试绘制给定文本的堆法则(它显示词汇量的增长与文本长度的函数关系)。也就是说,对于每个标记,我需要文本的长度和最大给定标记的词汇量

我已经标记了我的文本,但我卡住了,因为我不知道如何遍历文本中的所有单词。

tokens=nltk.wordpunct_tokenize(text)
it=len(tokens)
i=1
for word in tokens:
    print len(tokens), len(set(tokens))
    i=i+1
    if i>it:
        break

我基本上需要在每次迭代中让文本增长 1 个标记。 感谢您的帮助!

最佳答案

您可以使用enumerate 来避免递增计数器:

uniq = set()

for i, token in enumerate(tokens):
    uniq.add(token)
    print "%d => %d" % (i, len(uniq))

关于python - Python 中的堆法则,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9860606/

相关文章:

python - 如何防止小部件重叠?

python - scipy misc.derivative 结果不正确

python - Scapy转发包

python - 在 Google Coral 开发板上构建时 dlib 挂起

java - 从正在运行的程序中获取变量

python - 使用 Python 为 NVIDIA Digit 创建训练/验证 LMDB

python - 我正在尝试根据修改日期对文件夹中所有文件的列表进行排序

python - 列表列表更改意外地反射(reflect)在子列表中

python - Eve SQLAlchemy 查询串联

python - 在字符串中查找字母的时间复杂度是多少?