我正在读一个有效的JSON文件(嵌套5级深度),然后向它添加一些数据,然后尝试将这些数据用于某些计算.
我正在以随机的方式获得int不是可下载的错误.我无法绕过它.转换为str()没有帮助,使用pprint打印并没有缓解它,在输入上转换为int()也无济于事.我拼命耗尽了选择……
主功能
with open(rNgram_file,'r',encoding='utf-8') as ngram_file:
data = json.load(ngram_file)
data = rank_items(data)
data = probability_items(data)
rank_items(数据)
所有值都在5嵌套级别计算,并在树中向上添加.我将int()强制转换添加到输入中作为可能的解决方案,但这没有帮助.获取x_grams [‘_ rank’]会出现问题
for ngram,one_grams in data.items():
ngram_rank = 0
for one_gram,two_grams in one_grams.items():
one_gram_rank = 0
[..]
for four_gram,values in four_grams.items():
# 4gram = of,values = 34
three_gram_rank += values
four_grams['_rank'] = int(three_gram_rank)
two_gram_rank += three_gram_rank
[..]
two_grams['_rank'] = int(one_gram_rank)
ngram_rank += one_gram_rank
one_grams['_rank'] = int(ngram_rank)
probability_items(数据)
这是错误发生的地方.看似随意,它会抱怨int不是可订阅的,其中x_rank或x_grams [‘rank]被打印或分配,即使它们是用type()计算的(如果它有效,则表示< class'int'> 原文链接:https://www.f2er.com/python/439681.html