0
該字符串數組的所有格式:如何將此字符串轉換爲數組?
myString="['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']"
我想使這個數組。我將如何在Python中做到這一點?
該字符串數組的所有格式:如何將此字符串轉換爲數組?
myString="['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']"
我想使這個數組。我將如何在Python中做到這一點?
如果這是一個愛好的項目,你可以使用eval()
如果你想確保它實際上是一個數組:
string = ['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']
string = eval(string)
如果你想要的東西更安全,你可以使用literal_eval
,不會執行功能。
您可以使用literal_eval
(這是較安全eval
),或者你可以把它當作一個JSON字符串:
from ast import literal_eval
li = literal_eval("['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']")
# or with the json module
import json
li = json.loads("['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']")
您可以使用eval()函數,即使它是一個有點危險。 ast.literal_eval,更好,因爲它不會執行函數。 – Kavli
@Kavli如果源是可信的,使用'eval'或'exec' *沒有任何問題。對於只有您輸入信息的小型玩具項目而言,假設來源是可信的是安全的。 'collections.namedtuple'使用'exec'來構建它的類。但是,它確實證明它的參數是有效的標識符,所以'exec'只能按預期工作。 – Dunes