所以我有一个如下所示的字符列表;a = ['243,243,143', '215,432', '325,213,541', '213,324', '235,234,214']我想将此列表转换为整数,所以它看起来像这样;a = [243243143, 215432, 325213541, 213324, 235234214]我努力了;[int(int(a.replace(',',''))) for i in a]但这返回了一个错误AttributeError: 'list' object has no attribute 'replace'
2 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
在列表推导中,“for”之前的项目是最终列表中的每个项目。因此,必须仅对该项目进行操作。每个项目都是一个包含“,”的字符串。因此,首先您应该从项目中删除“,”。然后将生成的字符串转换为数字:
a = [int(i.replace(',', '')) for i in a]
小唯快跑啊
TA贡献1863条经验 获得超2个赞
使用此代码
[int(a.replace(',', '')) for a in a]
你得到的错误是你定义“i”而不是“a”,所以你需要将“i”替换为“a”或
[int(i.replace(',', '')) for i in a]
出现异常是因为您将“a”定义为列表(您没有将 a 更改为字符串)
添加回答
举报
0/150
提交
取消