【发布时间】:2021-01-15 08:55:29
【问题描述】:
我刚开始学习 Python,目前正在尝试计算分段中字符序列的频率(分段为单词)。我的count_seq 函数有问题。在这个函数中,我希望在第一个循环中获取分段的每个段(in_object),然后在第二个循环中计算序列。
从我试图改变和理解的内容来看,我认为问题肯定出在for idx in range 循环中。
问题是这样的,当我尝试运行脚本时,我有这个 TypeError :“TypeError: '
def main():
seq_length = 3
freq_dict = count_seq(in_object, seq_length)
print_freq(freq_dict)
def count_seq(segmentation, seq_length):
freq_dict = dict()
for idx in range(len(segmentation)):
freq_dict[idx] = dict()
segments = segmentation[idx].get_content()
for pos in range(len(segments)):
char = segments[pos:pos+seq_length]
if len(char) < seq_length:
continue
freq_dict[char] = freq_dict.get(char, 0)+1
return freq_dict
def print_freq(freq_dict):
"""Recuperer le contenu de la fonction de l'exercice 2..."""
for key in sorted(freq_dict, key=freq_dict.get, reverse=True):
print("%s:%s" %(key, freq_dict[key]))
if __name__ == "builtins":
if in_objects:
main()
【问题讨论】:
-
你能发一个minimal reproducible example吗?
标签: python loops sequence text-segmentation