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 ORM框架SQLAlchemy学习笔记之关系映射实例
Jun 10 Python
python使用正则表达式来获取文件名的前缀方法
Oct 21 Python
用Python实现大文本文件切割的方法
Jan 12 Python
Python面向对象之类的封装操作示例
Jun 08 Python
python调用自定义函数的实例操作
Jun 26 Python
用python求一个数组的和与平均值的实现方法
Jun 29 Python
扩展Django admin的list_filter()可使用范围方法
Aug 21 Python
python修改文件内容的3种方法详解
Nov 15 Python
如何通过Django使用本地css/js文件
Jan 20 Python
基于python实现数组格式参数加密计算
Apr 21 Python
DjangoRestFramework 使用 simpleJWT 登陆认证完整记录
Jun 22 Python
Python之Matplotlib绘制热力图和面积图
Apr 13 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/06/15 PHP
PHP 事务处理数据实现代码
2010/05/13 PHP
浅析ThinkPHP中的pathinfo模式和URL重写
2014/01/06 PHP
简单介绍PHP的责任链编程模式
2015/08/11 PHP
PHP微信红包API接口
2015/12/05 PHP
详解PHP版本兼容之openssl调用参数
2018/07/25 PHP
PHP-FPM 的管理和配置详解
2019/02/17 PHP
Three.js源码阅读笔记(基础的核心Core对象)
2012/12/27 Javascript
浅析js中取绝对值的2种方法
2013/07/09 Javascript
jquery js 重置表单 reset()具体实现代码
2013/08/05 Javascript
ComboBox 和 DateField 在IE下消失的解决方法
2013/08/30 Javascript
js触发select onchange事件的小技巧
2014/08/05 Javascript
javascript之Array 数组对象详解
2016/06/07 Javascript
jquery基本选择器匹配多个元素的实现方法
2016/09/05 Javascript
百度多文件异步上传控件webuploader基本用法解析
2016/11/07 Javascript
jquery实现一个全局计时器(商城可用)
2017/06/30 jQuery
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
微信小程序自定义纯净模态框(弹出框)的实例代码
2020/03/09 Javascript
原生js实现轮播图特效
2020/05/04 Javascript
详解React中共享组件逻辑的三种方式
2021/02/02 Javascript
举例详解Python中的split()函数的使用方法
2015/04/07 Python
Python利用QQ邮箱发送邮件的实现方法(分享)
2017/06/09 Python
Python编程实现二分法和牛顿迭代法求平方根代码
2017/12/04 Python
Python编程中类与类的关系详解
2019/08/08 Python
使用Pyhton集合set()实现成果查漏的例子
2019/11/24 Python
Python2与Python3的区别点整理
2019/12/12 Python
解决pyinstaller 打包exe文件太大,用pipenv 缩小exe的问题
2020/07/13 Python
Python SQLAlchemy库的使用方法
2020/10/13 Python
PyQt5的QWebEngineView使用示例
2020/10/20 Python
数控技术应届生求职信
2013/11/13 职场文书
电脑租赁公司创业计划书
2014/01/08 职场文书
2014年征兵标语
2014/06/20 职场文书
库房管理员岗位职责
2015/02/12 职场文书
字典算法实现及操作 --python(实用)
2021/03/31 Python
解决Go gorm踩过的坑
2021/04/30 Golang
在 SQL 语句中处理 NULL 值的方法
2021/06/07 SQL Server