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实现简单QQ单用户机器人的方法
Jul 03 Python
Python编写屏幕截图程序方法
Feb 18 Python
Python中函数的多种格式和使用实例及小技巧
Apr 13 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
Python流程控制 if else实现解析
Sep 02 Python
python  logging日志打印过程解析
Oct 22 Python
通过python检测字符串的字母
Feb 18 Python
Python中格式化字符串的四种实现
May 26 Python
Python爬虫如何应对Cloudflare邮箱加密
Jun 24 Python
python unichr函数知识点总结
Dec 16 Python
MATLAB 如何求取离散点的曲率最大值
Apr 16 Python
python数字图像处理数据类型及颜色空间转换
Jun 28 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原理之异常机制深入分析
2010/08/08 PHP
解决文件名解压后乱码的问题 将文件名进行转码的代码
2012/01/10 PHP
web目录下不应该存在多余的程序(安全考虑)
2012/05/09 PHP
推荐几款用 Sublime Text 开发 Laravel 所用到的插件
2014/10/30 PHP
php实现表单多按钮提交action的处理方法
2015/10/24 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
javascript 对象的定义方法
2007/01/10 Javascript
JS/FLASH实现复制代码到剪贴板(兼容所有浏览器)
2013/05/27 Javascript
css3元素简单的闪烁效果实现(html5 jquery)
2013/12/28 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
js中实现字符串和数组的相互转化详解
2016/01/24 Javascript
关于js原型的面试题讲解
2016/09/25 Javascript
bootstrap可编辑下拉框jquery.editable-select
2017/10/12 jQuery
微信小程序实现弹出菜单
2018/07/19 Javascript
React中使用UEditor百度富文本的方法
2018/08/22 Javascript
Vue实现购物车的全选、单选、显示商品价格代码实例
2019/05/06 Javascript
vue实现折线图 可按时间查询
2020/08/21 Javascript
如何使用 vue-cli 创建模板项目
2020/11/19 Vue.js
[23:21]Ti4 冒泡赛第二轮DK vs C9 2
2014/07/14 DOTA
[00:02]DOTA2新版本使用PA至宝后暴击展示
2014/11/19 DOTA
[01:05:52]DOTA2-DPC中国联赛 正赛 Ehome vs Aster BO3 第一场 2月2日
2021/03/11 DOTA
python实现2014火车票查询代码分享
2014/01/10 Python
使用pandas实现csv/excel sheet互相转换的方法
2018/12/10 Python
提升Python效率之使用循环机制代替递归函数
2019/07/23 Python
python GUI库图形界面开发之PyQt5美化窗体与控件(异形窗体)实例
2020/02/25 Python
解决json中ensure_ascii=False的问题
2020/04/03 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
Vilebrequin欧洲官网:法国豪华泳装品牌(男士沙滩裤)
2018/04/14 全球购物
澳大利亚最早和最古老的巨型游戏专家:Yardgames
2020/02/20 全球购物
毕业生动漫设计求职信
2013/10/11 职场文书
药剂专业毕业生求职信
2014/06/24 职场文书
新闻学专业职业生涯规划范文:我的人生我做主
2014/09/12 职场文书
教师遵守党的政治纪律情况对照检查材料
2014/09/26 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
银行安全保卫工作总结
2015/08/10 职场文书
Python 读取千万级数据自动写入 MySQL 数据库
2022/06/28 Python