簡體   English   中英

將字符串轉換為浮點數列表(在python中)

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

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM