2016-05-11 2 views
0

На данный момент это выглядит следующим образом:Как преобразовать эту строку в массив со всем правильным форматированием?

myString="['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']" 

Я хочу, чтобы в конечном итоге, как это:

myArray=['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU'] 

Как мне это сделать?

+0

Моя первая мысль была, что это массив JSON, но котировки меняются местами вокруг. Если бы они не были: 'import json; myArray = json.loads ('["ASK", "WHAT", "etc"]') '- лучший способ. – nigel222

ответ

1
>>> myString="['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU']" 
>>> list(map(lambda x:x.strip("'"), myString.strip('"[]').split(", "))) 
['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU'] 

или используйте:

>>> import ast 
>>> ast.literal_eval(myString) 
['ASK', 'NOT', 'WHAT', 'YOUR', 'COUNTRY', 'CAN', 'DO', 'FOR', 'YOU'] 
Смежные вопросы