Какие есть способы преобразовать строку в список?
У меня есть строка:
'[1 , 2, 3, 4]'
как я могу преобразовать ее в список?
arr=[1,2,3,4]
Ответы (3 шт):
Автор решения: gil9red
→ Ссылка
Я бы сделал через ast.literal_eval
Пример:
import ast
text = '[1 , 2, 3, 4]'
items = ast.literal_eval(text)
print(type(items), items)
# <class 'list'> [1, 2, 3, 4]
Автор решения: Sergey K.
→ Ссылка
Можно десериализовать с помощью модуля json.
import json
s = '[1 , 2, 3, 4]'
arr = json.loads(s)
Так как эта запись массива полностью совместима с форматом json'а, то проблем не возникнет. И это намного безопаснее и эффективнее, чем использовать eval или парсить самому.
Автор решения: SergFSM
→ Ссылка
или можно попробовать через регулярку:
from re import findall
arr = [int(i) for i in findall(r'\d+',text)]