繁体   English   中英

如何从python中的字符串格式编号获取原始编号?

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM