![](/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.