В процессе анализа данных мне пришлось удалить из них ненужные строки, чтобы получить чистый набор данных. Я использовал технику понимания списка, чтобы выбрать конкретную строку из данных, а затем применил другой метод для очистки выбранных строк.

В этом уроке я показал, как можно извлечь строку из списка на языке Python, используя не один, а сразу три разных метода.

В Python есть несколько способов извлечь строку из списка. Под извлечением строки из списка мы понимаем получение одной или нескольких строк из списка строк, например: [«идти», «где-то», «где», «тебе», «нравится»].

Я расскажу вам о некоторых наиболее часто используемых методах или способах извлечения строк из списка в Python. Помните, что не все методы одинаково подходят по времени выполнения, и вы можете выбрать тот, который лучше всего подходит для вашей задачи. В этих техниках я не буду объяснять понятия пространства и времени, так как это выходит за рамки данного контекста.

Содержание

С помощью индексации

Вы можете использовать индексацию для извлечения нужной строки из списка, так как у каждого элемента списка есть свой уникальный порядковый номер — индекс.

Например, у вас есть список штатов, как показано ниже.

states = ['Florida', 'Ohio', 'Virginia', 'Michigan']

Посмотрите на список «состояний» выше. В нём четыре элемента, а индексы элементов начинаются с нуля:

  • первый элемент имеет индекс 0;
  • второй элемент имеет индекс 1;
  • третий элемент имеет индекс 2;
  • четвёртый элемент имеет индекс 3.

Допустим, вы хотите получить строку «Вирджиния» из этого списка. Найдите её индекс: он будет равен трём, так как «Вирджиния» — это третий элемент в списке.

Теперь выполните код, который находится ниже.

print(states[2])

С помощью индексации

Посмотрите на результат. Если использовать состояния[2], то можно получить имя состояния из списка. Как вы видите, имя списка указано в строке from. Таким образом, вы извлекаете строку из списка с помощью индексации.

Если вы хотите получить штат Мичиган, то вам нужно указать индексацию как States[3]. Это связано с тем, что Мичиган находится на третьей позиции в списке.

С использованием нарезки

С помощью нарезки списка вы можете извлечь из него одну или несколько строк. В данном случае из списка, который был представлен ранее, можно извлечь только одну строку.

Чтобы это сделать, вам нужно указать начальный и конечный индексы для извлечения строки из списка. Если вы не знакомы с нарезкой, рекомендуем ознакомиться с этим учебным материалом: «Нарезка в Python».

Например, рассмотрим список «состояний», который вы создали в предыдущем разделе. Извлечём из него строку с индексами от 0 до 2. Это можно сделать с помощью кода, который представлен ниже.

states = ['Florida', 'Ohio', 'Virginia', 'Michigan']

print(states[0:3])

С использованием нарезки

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

Рассмотрим пример: states[0:3]. При этом извлекается строка, начиная с индекса 0 и заканчивая индексом 2. Можно подумать, что можно было бы использовать индексы от 0 до 3, но это не так. При использовании нарезки конечный индекс не включается в результат. Поэтому вместо значений от 0 до 3 мы получаем строку, начиная с индекса 0 и заканчивая индексом 2.

С использованием List Comprehension

Понимание списка — это метод, который позволяет запускать цикл for внутри квадратных скобок []. С его помощью можно извлечь строки, начинающиеся с определённой буквы, используя метод startwith() в квадратных скобках [].

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

product_names = ['Apple iPhone', 'Samsung Galaxy', 'Google Pixel', 'Apple iPhone', 'Samsung Galaxy']

Код ниже может извлечь из списка строки, начинающиеся с буквы «А».

extracted_product = [name for name in product_names if name.startswith('A')]

print(extracted_product)

С использованием List Comprehension

Посмотрите на результат: две строки, извлечённые из списка, начинаются с буквы «А» с помощью функции Beginswith () и понимания списка.

Давайте разберёмся в части кода:

[имя для имени в Product_names, если name. Beginswith(‘A’)].

Сначала цикл for name in Product_names перебирает каждый продукт в списке. Затем он берёт имя каждого продукта и проверяет, начинается ли оно с буквы «А», используя условие if name. Beginswith(‘A’).

Если название продукта начинается с буквы «А», оно добавляется в список. В результате мы извлекаем строки (названия продуктов), начинающиеся с буквы «А», например, [‘Apple iPhone’, ‘Apple iPhone’].

Добавить комментарий