2017-02-21 3 views
-1
list_example = "['0101612-0', '0101611-2', '0101610-4', '0101608-8', '0101607-0', '0101606-2', '0100786-3', '0100784-8', '0100783-0', '0100782-2', '0100781-4', '0100780-6', '0100779-8', '0100778-0', '0100777-2']" 

Я хочу, чтобы преобразовать выше в этом:Преобразовать список с цитатами в список питона

list_example = ['0101612-0', '0101611-2', '0101610-4', '0101608-8', '0101607-0', '0101606-2', '0100786-3', '0100784-8', '0100783-0', '0100782-2', '0100781-4', '0100780-6', '0100779-8', '0100778-0', '0100777-2'] 

Я попробовал следующее: list_example = list_example.split(',') повлекших:

["['0101612-0'", 
" '0101611-2'", 
" '0101610-4'", 
" '0101608-8'", 
" '0101607-0'", 
" '0101606-2'", 
" '0100786-3'", 
" '0100784-8'", 
" '0100783-0'", 
" '0100782-2'", 
" '0100781-4'", 
" '0100780-6'", 
" '0100779-8'", 
" '0100778-0'", 
" '0100777-2']"] 

Что является грязным, чтобы извлеките значения из.

ответ

2

Вы можете использовать ast.literal_eval:

>>> import ast 
>>> s = "['0101612-0', '0101611-2', '0101610-4', '0101608-8', '0101607-0', '0101606-2', '0100786-3', '0100784-8', '0100783-0', '0100782-2', '0100781-4', '0100780-6', '0100779-8', '0100778-0', '0100777-2']" 
>>> ast.literal_eval(s) 
['0101612-0', '0101611-2', '0101610-4', '0101608-8', '0101607-0', '0101606-2', '0100786-3', '0100784-8', '0100783-0', '0100782-2', '0100781-4', '0100780-6', '0100779-8', '0100778-0', '0100777-2'] 

Вы можете сделать это с split & strip тоже, но это немного сложнее:

>>> [x.strip('\'') for x in s.strip('[]').split(', ')] 
['0101612-0', '0101611-2', '0101610-4', '0101608-8', '0101607-0', '0101606-2', '0100786-3', '0100784-8', '0100783-0', '0100782-2', '0100781-4', '0100780-6', '0100779-8', '0100778-0', '0100777-2'] 
+0

Когда вы видите часто задаваемый вопрос, вы можете проголосовать, чтобы закрыть его как дубликат. Это помогает сайту сохранить качество и избежать фрагментации. – TigerhawkT3

-1

Самый простой (и, вероятно, самый опасный) способ сделать это заключается в использовании eval.

my_list = eval(list_example) 

Этот код должен возвращать объект списка, полный строк. Предупреждение: убедитесь, что пользователь не может ввести какой-либо вредоносный код внутри list_example!

Смежные вопросы