微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在此列表列表中将字符串转换为十进制?

如何解决如何在此列表列表中将字符串转换为十进制?

我正在尝试将此列表列表中的字符串转换为十进制形式:

ask = [['31188.28758860',2],['31183.48445986',0.14258435],...]

我尝试使用 elem.strip('"') for elem in ask 删除引号但得到“AttributeError: 'list' object has no attribute 'strip'”所以我假设我没有访问字符串的嵌套级别

解决方法

试试这个:

ans = [[float(i) if type(i)==str else i  for i in j] for j in ask]
print(ans)

输出

[[31188.2875886,2],[31183.48445986,0.14258435]]
,
[float(elem[0]) for elem in ask]

只获取嵌套列表的第一个值。

[[float(elem[0]),elem[1]] for elem in ask]

获得与之前相同的结构,但将字符串替换为浮点数。

,
ask = [['31188.28758860',['31183.48445986',0.14258435],...]

converted_ask = [[float(x[0]),x[1]] for x in ask]
,
ask = [['31188.28758860',0.14258435]]
ask_list = [[float(j) for j in i] for i in ask]

这将完成您的工作。输出 (ask_list) 将为 [[31188.2875886,2.0],0.14258435]]

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。