python – 随机“int不可订阅”行为

前端之家收集整理的这篇文章主要介绍了python – 随机“int不可订阅”行为前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

我正在读一个有效的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

猜你在找的Python相关文章