簡體   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