@Amigun
Учусь программированию. Новичок

Как преобразовать строку в список в PYTHON?

У меня есть строка: ['Первое, 'Второе', 'Третье', 'Четвертое']
Но я не могу вызвать какой либо элемент, например 2 элемент
Как преобразовать эту строку в список? Чтобы я мог вызывать элементы

Версия python - 3.7.3
  • Вопрос задан
  • 150 просмотров
Решения вопроса 1
fox_12
@fox_12 Куратор тега Python
Расставляю биты, управляю заряженными частицами
Как преобразовать эту строку в список? Чтобы я мог вызывать элементы

например 2 элемент

>>> import json
>>> str1 = "['Первое', 'Второе', 'Третье', 'Четвертое']"
>>> json.loads(str1.replace("'", '"'))[1]
'Второе'


P.S. В оригинале у вас не совсем корректный список в строке - "Первое" не закрывается кавычкой.
['Первое, 'Второе', 'Третье', 'Четвертое']
Если это не "бага а фича" . - то нужны дополнительные шаги для приведения списка к корректному виду.
Ответ написан
Пригласить эксперта
Ответы на вопрос 2
@undisclosed
Если у вас именно строка задается в таком виде: "['Первое, 'Второе', 'Третье', 'Четвертое']", то можно разделить ее по разделителю ", " и получить список элементов с кавычками в таком виде:
["['Первое", "'Второе'", "'Третье'", "'Четвертое']"]

А затем обрезать ненужные символы с обоих концов элемента с помощью метода strip().
В результате получим список из элементов, без лишних символов, к которым можно обращаться по номеру.
Все это делается одной строкой кода - list comprehension.
Пример кода:
string = "['Первое, 'Второе', 'Третье', 'Четвертое']"
res = [element.strip("'[]") for element in string.split(", ")]
print(res[1])

В ответ выдаст:
Второе
Ответ написан
laviol
@laviol
Кодер-разнорабочий
Получить из строки элементы по заданному шаблону можно довольно просто используя регулярные выражения и встроенную в Python библиотеку re.
Для проверки своего регулярного выражения (с подсказками по их составлению) существует множество онлайн сервисов, достаточно погуглить.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
ZClick Москва
от 50 000 до 200 000 руб.
Protoplan Краснодар
от 80 000 до 150 000 руб.
21 июл. 2019, в 17:53
3000 руб./за проект
21 июл. 2019, в 16:20
10000 руб./за проект
21 июл. 2019, в 15:45
1500 руб./за проект