加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > Python > 正文

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

发布时间:2020-12-16 21:43:02 所属栏目:Python 来源:网络整理
导读:我正在读一个有效的JSON文件(嵌套5级深度),然后向它添加一些数据,然后尝试将这些数据用于某些计算. 我正在以随机的方式获得int不是可下载的错误.我无法绕过它.转换为str()没有帮助,使用pprint打印并没有缓解它,在输入上转换为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'>

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读