[英]Convert a string to a list of floats (in python)
為了數據存儲,我正在嘗試從.txt文件中恢復浮點列表。 從像這樣的字符串:
a = '[1.3, 2.3, 4.5]'
我想恢復:
a = [1.3, 2.3, 4.5]
我期待的是一個簡單的解決方案,例如list(a)
,但找不到類似的東西。
使用ast模塊 。
防爆
import ast
print(ast.literal_eval('[1.3, 2.3, 4.5]'))
輸出:
[1.3, 2.3, 4.5]
您還可以使用更手動的方式:
[eval(x) for x in '[1.3, 2.3, 4.5]'.strip("[").strip("]").split(",")]
Out[64]: [1.3, 2.3, 4.5]
您可以使用json
import json
a = '[1.3, 2.3, 4.5]'
json.loads(a)
如果您確定輸入數據的類型為a ='[1.3,2.3,4.5]',那么可以使用eval命令並將其分配給相同或不同的變量。
a = '[1.3, 2.3, 4.5]'
b=eval(a)
print(b.__class__) # to know if b is of type list or not
a = a.split(",")
a[0] = a[0][1:]
a[-1] = a[-1][:-1]
a = [float(i) for i in a]
這應該工作:)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.