![](/img/trans.png)
[英]How to retrieve Python format code from number represented as string?
[英]How to get the origin number from a string format number in python?
我有一个字符串编号列表,如下所示:
my_list = ["6.84", "6", "3.24"]
我希望找到一个简单的解决方案,将字符串格式的数字转换为数字格式:
my_list = [6.84, 6, 3.24]
我尝试过的:
l = [float(num) if '.' in num else int(num) for num in my_list]
我想知道 python 中是否有更直接的解决方案?
您的解决方案绝对没问题; 可以直接简化的唯一方法是提取(num)
函数调用:
l = [(float if '.' in num else int)(num) for num in my_list]
但这是否更好是一个意见问题。
一个单独的问题是'.' in num
'.' in num
不测试浮点数的所有字符串表示形式,例如1e3
是浮点数1000.0
。 如果你想将每个数字字符串解析为它在 Python 中的类型,你可以使用ast.literal_eval
函数:
import ast
l = [ast.literal_eval(num) for num in my_list]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.