Содержание
Как преобразовать строку в список?
Скажем, что строка похожа на text = "a,b,c" . После преобразования text == [‘a’, ‘b’, ‘c’] и, надеюсь, text[0] == ‘a’ , text[1] == ‘b’ ?
В качестве альтернативы вы можете использовать eval() , если вы доверяете безопасной строке:
Просто добавьте к существующим ответам: надеюсь, вы столкнетесь с чем-то более похожим на это в будущем:
Но с чем вы сейчас сталкиваетесь, перейдите с ответом @Cameron.
Следующий код Python превратит вашу строку в список строк:
Я не думаю, что вам нужно
В python вам редко нужно преобразовать строку в список, потому что строки и списки очень похожи
Изменение типа
Если у вас действительно есть строка, которая должна быть массивом символов, сделайте следующее:
Не меняя тип
Обратите внимание, что строки очень похожи на списки в python
Строки имеют аксессоры, например списки
Строки повторяются, например списки
Строки — это списки. Почти.
Если вы действительно хотите массивы:
Если вам не нужны массивы и вы хотите посмотреть по индексу у своих символов, помните, что строка является итерируемой, как и список, за исключением того факта, что она неизменна:
Если вы хотите разбить пробелы, вы можете просто использовать .split() :
Красивый Питон — часть 2. Cписки в Python.
-
20.04.2016 Pythonидиомы python
Эта статья для тех, кто хочет писать чистый, красивый и легко читаемый код, от которого текут слюни при чтении. Если вы из таких людей — значит, мыслите правильно. Ведь если вы работаете в команде, или разрабатываете открытое ПО — необходимо, чтобы код могли прочитать другие разработчики — возможно, тысяча других людей. Как использовать списки в Python?
Да что уж там — однажды и самому придется вернуться к проекту, который был заброшен несколько месяцев назад. А ведь порой бывает так, что с трудом разбираешь код, который относительно недавно написал собственными пальцами.
Не важно, пишите ли вы большой проект или небольшой скрипт на один раз. К любому кусочку кода не помешает приложить немного усилий, чтобы сделать его лаконичным. Лучше делать это по шагам — например, сначала правильно написать циклы. Следует всегда думать, как оптимизировать и улучшить код — и тогда вы ощутите, как ваши скрипты и функции улучшились.
Сегодня — второй пост из серии статей об идиомах в Python, в котором рассмотрим работу со списками.
Как работать со списками в Python?
Списки — достаточно широко используемая структура данных, для которой можно найти массу применений. Это один из типов последовательности в Питоне — а значит, к ним можно применять встроенные в язык методы. Их можно передавать в качестве аргумента функциям.
При работе со списками часто есть несколько способов сделать что-либо. Но всегда есть способ, который проще, быстрее и читабельнее других. Не нужно объяснять, почему нужно использовать именно их.
Создание списка в Python
Временами требуется инициализировать список из X значений. Как это сделать правильно?
Как видите, весьма компактный способ. Просто умножьте значение на количество раз, которое оно должно быть в списке.
Генераторы списков в Python
На самом деле, генераторы списков (list comprehensions) — это достаточно обширная тема. А еще это универсальный инструмент, который достаточно часто помогает. Почитайте документацию.
Пример выше создает из переменной list_1, содержащей все целые числа от 1 до 100, список, содержащий только четные числа (те, которые делятся 2). Этот прием можно использовать как: [f(x) for x in список (условия)] , где f(x) — некоторая функция от x, а условия — необязательный блок с условными операторами. Так же допускается вложенность.
Список в строку Python
Соединение списка в строку — задача, которая возникает достаточно часто. В Python это сделать предельно просто, однако не всегда интуитивно понятно как.
Как видно из примера, классный способ превратить список в строку — вызвать функцию join(), передав в качестве аргумента список, который нужно соединить.
Пожалуй, о списках все. Уверен, что вы будете часто использовать списки в Python, так что постарайтесь запомнить эти простые вещи, описанные в статье. К сожалению, я тоже наступал на грабли и не использовал вещи, описанные выше. Функциональность кода от этого не страдала, а вот внешний вид и читаемость — достаточно сильно.
Спасибо Jamal Moir за замечательные советы.
У меня есть строка: [‘Первое, ‘Второе’, ‘Третье’, ‘Четвертое’]
Но я не могу вызвать какой либо элемент, например 2 элемент
Как преобразовать эту строку в список? Чтобы я мог вызывать элементы
Версия python — 3.7.3
- Вопрос задан 09 июл.
- 530 просмотров
Как преобразовать эту строку в список? Чтобы я мог вызывать элементы
P.S. В оригинале у вас не совсем корректный список в строке — "Первое" не закрывается кавычкой.
[‘Первое, ‘Второе’, ‘Третье’, ‘Четвертое’]
Если это не "бага а фича" . — то нужны дополнительные шаги для приведения списка к корректному виду.
Если у вас именно строка задается в таком виде: "[‘Первое, ‘Второе’, ‘Третье’, ‘Четвертое’]", то можно разделить ее по разделителю ", " и получить список элементов с кавычками в таком виде:
А затем обрезать ненужные символы с обоих концов элемента с помощью метода strip().
В результате получим список из элементов, без лишних символов, к которым можно обращаться по номеру.
Все это делается одной строкой кода — list comprehension.
Пример кода: