我的Python有问题。我试图了解哪些信息存储在我发现是生成器的对象中。我对Python一无所知,但是我必须了解这段代码的工作原理才能将其转换为Java。代码如下:
def segment(text):
"Return a list of words that is the best segmentation of text."
if not text: return []
candidates = ([first]+segment(rem) for first,rem in splits(text))
return max(candidates, key=Pwords)
def splits(text, L=20):
"Return a list of all possible (first, rem) pairs, len(first)<=L."
pairs = [(text[:i+1], text[i+1:]) for i in range(min(len(text), L))]
return pairs
def Pwords(words):
"The Naive Bayes probability of a sequence of words."
productw = 1
for w in words:
productw = productw * Pw(w)
return productw
虽然我了解了Pwords和split方法的工作原理(函数Pw(w)只是从矩阵中获取一个值),但我仍在尝试了解“ segment”方法中“ candidates”对象的构建方式,以及它包含。以及“ max()”函数如何分析此对象。
我希望有人能帮助我,因为我在这里找不到任何可行的解决方案来打印此对象。非常感谢大家。毛罗
慕勒3428872
相关分类