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自动zip压缩目录的方法
Jun 28 Python
浅谈python为什么不需要三目运算符和switch
Jun 17 Python
python实现生命游戏的示例代码(Game of Life)
Jan 24 Python
Python实现删除时保留特定文件夹和文件的示例
Apr 27 Python
numpy concatenate数组拼接方法示例介绍
May 27 Python
python实现银行管理系统
Oct 25 Python
Python3 使用selenium插件爬取苏宁商家联系电话
Dec 23 Python
python图片剪裁代码(图片按四个点坐标剪裁)
Mar 10 Python
python实现批量修改文件名
Mar 23 Python
python从Oracle读取数据生成图表
Oct 14 Python
python实现图像随机裁剪的示例代码
Dec 10 Python
Python中相见恨晚的技巧
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变量内存分配问题记录整理
2013/11/27 PHP
PHP PDO操作MySQL基础教程
2017/06/05 PHP
PHP addAttribute()函数讲解
2019/02/03 PHP
laravel清除视图缓存的代码
2019/10/23 PHP
(JS实现)MapBar中坐标的加密和解密的脚本
2007/05/16 Javascript
JavaScript(js)设置默认输入焦点(focus)
2012/12/28 Javascript
JavaScript代码简单实现求杨辉三角给定行的最大值
2013/10/29 Javascript
JavaScript获取路径设计源码
2014/05/22 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
jquery简单实现外部链接用新窗口打开的方法
2015/05/30 Javascript
js获取及修改网页背景色和字体色的方法
2015/12/29 Javascript
深入理解node exports和module.exports区别
2016/06/01 Javascript
浅谈js图片前端预览之filereader和window.URL.createObjectURL
2016/06/30 Javascript
详细总结Javascript中的焦点管理
2016/09/17 Javascript
js防抖和节流的深入讲解
2018/12/06 Javascript
微信小程序与后台PHP交互的方法实例分析
2018/12/10 Javascript
详解如何在Javascript和Sass之间共享变量
2019/11/13 Javascript
[03:18]DOTA2亚洲邀请赛小组赛第一日 RECAP赛事回顾
2015/01/30 DOTA
玩转python selenium鼠标键盘操作(ActionChains)
2020/04/12 Python
python reduce 函数使用详解
2017/12/05 Python
python SSH模块登录,远程机执行shell命令实例解析
2018/01/12 Python
python实现自主查询实时天气
2018/06/22 Python
python之验证码生成(gvcode与captcha)
2019/01/02 Python
Python3实现配置文件差异对比脚本
2019/11/18 Python
丝芙兰巴西官方商城:SEPHORA巴西
2016/10/31 全球购物
幼儿园元旦亲子活动方案
2014/02/17 职场文书
生日宴会主持词
2014/03/20 职场文书
学生会竞选演讲稿纪检部
2014/08/25 职场文书
2014最新房贷收入证明范本
2014/09/12 职场文书
法英专业大学生职业生涯规划书范文
2014/09/22 职场文书
CSS3实现的侧滑菜单
2021/04/27 HTML / CSS
基于Redis位图实现用户签到功能
2021/05/08 Redis
MySQL通过binlog恢复数据
2021/05/27 MySQL
redis cluster支持pipeline的实现思路
2021/06/23 Redis
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android
frg-100简单操作(设置)说明
2022/04/05 无线电