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 读写中文json的实例详解
Oct 29 Python
Python使用django框架实现多人在线匿名聊天的小程序
Nov 29 Python
浅谈Python中range和xrange的区别
Dec 20 Python
Python常见MongoDB数据库操作实例总结
Jul 24 Python
Python实现的旋转数组功能算法示例
Feb 23 Python
PyQt QCombobox设置行高的方法
Jun 20 Python
Python制作简易版小工具之计算天数的实现思路
Feb 13 Python
Python loguru日志库之高效输出控制台日志和日志记录
Mar 07 Python
tensorflow2.0的函数签名与图结构(推荐)
Apr 28 Python
python 多线程共享全局变量的优劣
Sep 24 Python
Django web自定义通用权限控制实现方法
Nov 24 Python
一文带你了解Python 四种常见基础爬虫方法介绍
Dec 04 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
十天学会php(3)
2006/10/09 PHP
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
php 字符串中的\n换行符无效、不能换行的解决方法
2014/04/02 PHP
php图像处理类实例
2015/07/28 PHP
Yii2.0框架behaviors方法使用实例分析
2019/09/30 PHP
PHP sdk实现在线打包代码示例
2020/12/09 PHP
用jquery实现的模拟QQ邮箱里的收件人选取及其他效果(一)
2011/01/06 Javascript
jQuery无刷新切换主题皮肤实例讲解
2015/10/21 Javascript
flexslider.js实现移动端轮播
2017/02/05 Javascript
微信小程序 定位到当前城市实现实例代码
2017/02/23 Javascript
Layer+Echarts构建弹出层折线图的方法
2019/09/25 Javascript
[01:12]快闪回顾DOTA2亚洲邀请赛(DAC) 静候2018新征程开启
2018/03/11 DOTA
django在接受post请求时显示403forbidden实例解析
2018/01/25 Python
python如何读写json数据
2018/03/21 Python
python-docx修改已存在的Word文档的表格的字体格式方法
2018/05/08 Python
django中media媒体路径设置的步骤
2019/11/15 Python
Pytorch 神经网络—自定义数据集上实现教程
2020/01/07 Python
python+selenium 简易地疫情信息自动打卡签到功能的实现代码
2020/08/22 Python
html5+css3之CSS中的布局与Header的实现
2014/11/21 HTML / CSS
深入解析HTML5使用SVG图像时的viewBox属性用法
2015/09/02 HTML / CSS
原生canvas制作画图小工具的踩坑和爬坑
2020/06/09 HTML / CSS
健身场所或家用健身设备:Life Fitness
2017/11/01 全球购物
美国修容界大佬创建的个人美妆品牌:Kevyn Aucoin Beauty
2018/12/12 全球购物
什么是静态路由,其特点是什么?什么是动态路由,其特点是什么?
2013/07/26 面试题
优秀英语专业毕业生求职信
2013/11/23 职场文书
医科大学毕业生自荐信
2014/02/03 职场文书
便利店投资创业计划书
2014/02/08 职场文书
计算机大学生职业生涯规划书范文
2014/02/19 职场文书
高中学生干部学习的自我评价
2014/02/21 职场文书
小学优秀班主任事迹材料
2014/05/17 职场文书
上课迟到检讨书300字
2014/10/15 职场文书
2014年团委工作总结
2014/11/13 职场文书
小学生心理健康活动总结
2015/05/08 职场文书
圆明园观后感
2015/06/03 职场文书
社区干部培训心得体会
2016/01/06 职场文书
.Net Core导入千万级数据至Mysql的步骤
2021/05/24 MySQL