我希望將以下字符串轉換爲不使用eval的Python列表。如何使用eval(Python)將字符串轉換爲列表
"[['age', '>=', 30], ['age', '<', 36]]"
輸出應該是這樣的:
['age', '>=', 30] >> list position -[0]
['age', '<', 36] >> list position -[1]
我希望將以下字符串轉換爲不使用eval的Python列表。如何使用eval(Python)將字符串轉換爲列表
"[['age', '>=', 30], ['age', '<', 36]]"
輸出應該是這樣的:
['age', '>=', 30] >> list position -[0]
['age', '<', 36] >> list position -[1]
嘗試ast.literal_eval()
:
import ast
x = ast.literal_eval("[['age', '>=', 30], ['age', '<', 36]]")
print x
print type(x)
運行此腳本顯示:
[['age', '>=', 30], ['age', '<', 36]]
<type 'list'>
的ast.literal_eval()
是一種安全eval()
只能評估諸如字符串,列表,元組,數字和布爾值等文字。
來源:http://docs.python.org/dev/library/ast.html#ast.literal_eval
「不允許進口」那是由一個家庭作業或您正在嘗試使用一種工具強加的限制(如想要一個Python腳本編寫腳本的一些應用程序?)。無論哪種方式,請更新您的問題以反映您的具體要求。 – SingleNegationElimination