Python TypeError: ‘float‘ object is not subscriptable错误解决


Posted in Python onDecember 24, 2022

前言

其实就是个小问题,但是爆出来的时候也很莫名其妙。因为之前都跑得好好的,只是换了不同的文件去跑才出的问题,关键是不同的文件要处理的内容和格式都是完全一样的,一个顺利跑完,一个就报TypeError: ‘float’ object is not subscriptable这个错,就非常无语。接下来就是看看怎么解决问题了:

一开始自然是直接搜索问题,寻找解决办法,实话实说,看了一些博客,但是并没有直接找到解决办法,但是从中获得了一些想法,对问题理解更清楚一点。下面是找到的一种解释:

Python TypeError: ‘float‘ object is not subscriptable错误解决

然后说一下我的具体应用:

我需要从预测生成的 json文件获取预测分数score和预测位置(坐标值)把它们写入txt文档:

ff = open('xx.txt','w')
for anno in annos:
	score = anno['score']
	left,top,right,bottom = anno['box']
	ff.write("%s %s %s %s %s\n" %(score[:6], str(int(left)), str(int(top)),str(int(right)),str(int(bottom))))
ff.close()

json文件内容格式:

{
	"annos":[
		{
			"score":0.999976544,
			"box":[
				145.436234753274657
				456.312645236453657
				254.327564356457435
				553.957943578765678
				]
		},
		{
			"score":0.9996542376,
			"box":[
				344.436234753274657
				987.312645236453657
				423.327564356457435
				234.957943578765678
				]
		},
		...
	]
}

具体问题是在执行写入的时候出现的:

ff.write("%s %s %s %s %s\n" %(score[:6], str(int(left)), str(int(top)),str(int(right)),str(int(bottom))))

一开始我的关注点是放在box的内容读取上,他是四个浮点数位于一个列表下,而且搜到的方法也和列表内容相关

后面通过我的控制变量试验后发现这里是没问题的,所以问题就是score[:6]的写入报了错

我的解决办法是:

"""先把读取到的score转化为字符,再进行写入"""
xx = str(anno['score'])
ff.write("%s %s %s %s %s\n" %(xx[:6], str(int(left)), str(int(top)),str(int(right)),str(int(bottom))))

如上就可以顺利执行了,没报TypeError: ‘float’ object is not subscriptable

原先想过,直接把str加在最后一句上,即:

ff.write("%s %s %s %s %s\n" %(str(score[:6]), str(int(left)), str(int(top)),str(int(right)),str(int(bottom))))

发现还是会报错,也就是说直接写的时候读的不能是浮点型数据(可能是此处直接从annos的列表中读取出来的浮点数据不能直接处理),即使经过中间处理也不行,需要转化为字符型后再写入即可解决

其实这个问题更像一个bug并不是一定会出现的问题,如果报错了,

就要花时间解决一下。

总结

到此这篇关于Python TypeError: ‘float‘ object is not subscriptable错误解决的文章就介绍到这了,更多相关TypeError: ‘float‘ object is not subscriptable内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python中的sort方法使用详解
Jul 25 Python
深入浅析python中的多进程、多线程、协程
Jun 22 Python
Python的爬虫程序编写框架Scrapy入门学习教程
Jul 02 Python
Python利用matplotlib.pyplot绘图时如何设置坐标轴刻度
Apr 09 Python
python 调用有道api接口的方法
Jan 03 Python
Django中提供的6种缓存方式详解
Aug 05 Python
与Django结合利用模型对上传图片预测的实例详解
Aug 07 Python
pytorch 修改预训练model实例
Jan 18 Python
Python爬虫库requests获取响应内容、响应状态码、响应头
Jan 25 Python
Python运行异常管理解决方案
Mar 09 Python
win7上tensorflow2.2.0安装成功 引用DLL load failed时找不到指定模块 tensorflow has no attribute xxx 解决方法
May 20 Python
Pillow图像处理库安装及使用
Apr 12 Python
python 使用pandas读取csv文件的方法
Dec 24 #Python
Python使用pandas导入csv文件内容的示例代码
Dec 24 #Python
python如何利用cv2.rectangle()绘制矩形框
Dec 24 #Python
Python中np.random.randint()参数详解及用法实例
Sep 23 #Python
Python中tqdm的使用和例子
Sep 23 #Python
python 镜像环境搭建总结
Sep 23 #Python
Python创建SQL数据库流程逐步讲解
Sep 23 #Python
You might like
收听短波不可能有声音清晰的品质吗
2021/03/01 无线电
PHP脚本数据库功能详解(中)
2006/10/09 PHP
php利用cookie实现访问次数统计代码
2011/05/19 PHP
基于php权限分配的实现代码
2013/04/28 PHP
php 批量替换程序的具体实现代码
2013/10/04 PHP
thinkPHP数据库增删改查操作方法实例详解
2016/12/06 PHP
动态加载script文件的两种方法
2013/08/15 Javascript
extjs_02_grid显示本地数据、显示跨域数据
2014/06/23 Javascript
初识Node.js
2015/03/20 Javascript
微信开发 微信授权详解
2016/10/21 Javascript
从setTimeout看js函数执行过程
2017/12/19 Javascript
jQuery实现监听下拉框选中内容发生改变操作示例
2018/07/13 jQuery
vue根据进入的路由进行原路返回的方法
2018/09/26 Javascript
详解vue中async-await的使用误区
2018/12/05 Javascript
js获取form表单中name属性的值
2019/02/27 Javascript
Nuxt.js实战和配置详解
2019/08/05 Javascript
JS实现点击下拉列表文本框中出现对应的网址,点击跳转按钮实现跳转
2019/11/25 Javascript
vue制作抓娃娃机的示例代码
2020/04/17 Javascript
谈谈JavaScript令人迷惑的==与+
2020/08/31 Javascript
如何手动实现一个 JavaScript 模块执行器
2020/10/16 Javascript
python模拟登录百度代码分享(获取百度贴吧等级)
2013/12/27 Python
Python中对元组和列表按条件进行排序的方法示例
2015/11/10 Python
python下如何查询CS反恐精英的服务器信息
2017/01/17 Python
解决Python requests 报错方法集锦
2017/03/19 Python
Python使用正则表达式过滤或替换HTML标签的方法详解
2017/09/25 Python
Pandas+Matplotlib 箱式图异常值分析示例
2019/12/09 Python
利用python生成照片墙的示例代码
2020/04/09 Python
W Concept美国:精选全球独立设计师
2017/02/22 全球购物
SCDKey德国:全球领先的数字游戏市场
2019/04/09 全球购物
下列程序在32位linux或unix中的结果是什么
2014/03/25 面试题
房屋产权证明书
2014/10/15 职场文书
植树节新闻稿
2015/07/17 职场文书
婚礼男方父母答谢词
2015/09/29 职场文书
创业计划书之游泳馆
2019/09/16 职场文书
MySQL系列之二 多实例配置
2021/07/02 MySQL
利用Python实现模拟登录知乎
2022/05/25 Python