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 初始化多维数组代码
Sep 06 Python
使用Python的Scrapy框架编写web爬虫的简单示例
Apr 17 Python
使用python实现tcp自动重连
Jul 02 Python
Python编程django实现同一个ip十分钟内只能注册一次
Nov 03 Python
Django数据库表反向生成实例解析
Feb 06 Python
Python实现的本地文件搜索功能示例【测试可用】
May 30 Python
在Python中实现替换字符串中的子串的示例
Oct 31 Python
Python 判断奇数偶数的方法
Dec 20 Python
详解python websocket获取实时数据的几种常见链接方式
Jul 01 Python
python使用 __init__初始化操作简单示例
Sep 26 Python
python实现简单聊天功能
Jul 07 Python
什么是Python装饰器?如何定义和使用?
Apr 11 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 清除网页病毒的方法
2008/12/05 PHP
php 删除cookie方法详解
2014/12/01 PHP
Javascript 作用域使用说明
2009/08/13 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
html文件中jquery与velocity变量中的$冲突的解决方法
2013/11/01 Javascript
ionic js 模型 $ionicModal 可以遮住用户主界面的内容框
2016/06/06 Javascript
详解Jquery Easyui的验证扩展
2017/01/09 Javascript
JQueryMiniUI按照时间进行查询的实现方法
2017/06/07 jQuery
Vue.js学习笔记之修饰符详解
2017/07/25 Javascript
纯js实现图片匀速淡入淡出效果
2017/08/22 Javascript
webpack打包js文件及部署的实现方法
2017/12/18 Javascript
JS中利用FileReader实现上传图片前本地预览功能
2018/03/02 Javascript
Angular HMR(热模块替换)功能实现方法
2018/04/04 Javascript
详解如何为你的angular app构建一个第三方库
2018/12/07 Javascript
微信小程序把百度地图坐标转换成腾讯地图坐标过程详解
2019/07/10 Javascript
关于layui的动态图标不显示的解决方法
2019/09/04 Javascript
通过实例解析vuejs如何实现调试代码
2020/07/16 Javascript
Python 装饰器深入理解
2017/03/16 Python
python使用socket创建tcp服务器和客户端
2018/04/12 Python
pyqt 实现QlineEdit 输入密码显示成圆点的方法
2019/06/24 Python
Django基础知识 URL路由系统详解
2019/07/18 Python
django数据关系一对多、多对多模型、自关联的建立
2019/07/24 Python
python 爬取古诗文存入mysql数据库的方法
2020/01/08 Python
草莓网化妆品日本站:Strawberrynet日本
2017/10/20 全球购物
英国时尚运动品牌的合集:The Sports Edit
2017/12/20 全球购物
Giglio英国站:意大利奢侈品购物网
2018/03/06 全球购物
师范毕业生求职自荐信
2013/09/25 职场文书
2013的个人自我评价
2013/12/26 职场文书
致跳远、跳高运动员广播稿
2014/01/09 职场文书
大学生职业生涯规划书参考模板
2014/03/05 职场文书
环保建议书300字
2014/05/14 职场文书
2014年银行员工工作总结
2014/11/12 职场文书
家属答谢词
2015/01/05 职场文书
高一军训决心书
2015/02/05 职场文书
Nginx虚拟主机的搭建的实现步骤
2022/01/18 Servers
MySQL中一条SQL查询语句是如何执行的
2022/04/08 MySQL