我变秃了但没变强 2022-08-02 10:40 采纳率: 83.3%
浏览 44
已结题

目前我在执行的操作是,通过python编写一个判断语句

问题遇到的现象和发生背景

目前我在执行的操作是,通过python编写一个判断语句

问题相关代码,请勿粘贴截图
        max_idx = 0
        max_val = predictions_list[0][1]
        num = 0
        for i in range(len(predictions_list)):
            if predictions_list[i][1] >= max_val:
                max_val = predictions_list[i][1]
                max_idx = i
        #print ("%s = %f" % (predictions_list[max_idx][0], predictions_list[max_idx][1]))
                # 判断相似度大于等于0.9时输出
                if predictions_list[max_idx][1] >= 0.9:
                    print("%s = %f" % (predictions_list[max_idx][0], predictions_list[max_idx][1]))
                    num = predictions_list[max_idx][0]  # 储存上个数的值
                else:
                    # 否则小于0.9时是上个数字+1
                    predictions_list[max_idx][1] < 0.9
                    predictions_list[max_idx][0] = str[num] + str[1]
                    print("%s = %f" % (predictions_list[max_idx][0], predictions_list[max_idx][1]))

运行结果及报错内容
File "<stdin>", line 61, in <module>
TypeError: 'type' object isn't subscriptable

我的解答思路和尝试过的方法

第61行为,倒数第二个代码行,在搜了一圈也没找到答案

我想要达到的结果
  • 写回答

3条回答 默认 最新

  • 『Knight』 2022-08-02 10:57
    关注

    你给的代码的第16行str[num] + str[1]这个里面的num是一个你前面定义的变量吧,然后你str[num]是想把num转换为字符串的格式对吧。如果是这样的话应该为str(num)才是格式转化。题主在弄变量名的时候尽量避免用函数名等特殊的来做函数名。比如本次错误就是 str[1]为取str变量的序号为1的字符,导致str[num]转换弄混了应该是str(num)

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

问题事件

  • 系统已结题 8月11日
  • 已采纳回答 8月3日
  • 创建了问题 8月2日