代码之家  ›  专栏  ›  技术社区  ›  ArchivistG

尝试使用re将3个结果打印到表中

  •  0
  • ArchivistG  · 技术社区  · 6 年前

    我已经有了一个有效的代码,直到我添加了熵部分。现在它在打印行上给了我一个无效的语法错误。怎么会这样?

    import nltk, math, re, numpy
    from nltk import word_tokenize
    from nltk.tokenize import RegexpTokenizer
    
    def entropy(labels):
        freqdist = nltk.FreqDist(labels)
        probs = [freqdist.freq(1) for l in freqdist]
        return -sum(p * math.log(p,2) for p in probs)
    
    def sents():
        fileObj = open('1865-Lincoln.txt', 'r')
        text = fileObj.read()
        tokens = nltk.sent_tokenize(text)
        for name in tokens:
            words = ' '.join(name.split()[:4])
            count = len(name.split())
            entro = entropy(len(name.split())
            print('{:<35} {:^15} {:>15}'.format(words, count, entro))
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   Markus Löffler    6 年前

    上一行缺少右括号:

    entro = entropy(len(name.split()))