Своевременное использование понимания списков в Python может упростить для вас операции с итеративными списками. Помимо того, что это одна строка, она более читабельна и выполняется более эффективно.
Однако вы можете разволноваться, если не знаете, как им пользоваться. Это может быть даже более неприятно, если вы не знаете, где применить это в своем коде. Здесь мы покажем вам, как использовать понимание списков в Python на некоторых реальных примерах.
Что такое понимание списков в Python и как оно работает?
Создать список элементов с помощью Python очень просто. Однако задача может стать немного утомительной, если вам нужно сгенерировать список значений или элементов из математических или строковых операций. Вот когда может пригодиться использование списков.
Преимущество использования понимания списков состоит в том, что вы можете выполнять несколько операций в одном списке.
Напротив, он создает новые элементы и добавляет их в пустой список, который объявляет автоматически. Поэтому вместо того, чтобы вручную создавать пустой список и добавлять к нему
за цикл, понимание списков Python позволяет вам делать это автоматически, не беспокоясь о том, как поступает новый список.Термин «понимание списка» происходит от того факта, что все операции выполняются в списке Python, назначенном именованной переменной. Как мы заявляли ранее, он позволяет выполнять определенные операции в одной строке кода. Затем он добавляет результат в новый список.
В конце концов, вы также можете использовать вывод понимания списка для других целей. Это потому, что он складывает выражения в отдельные переменные. Так что вы можете обратиться к ним позже.
Например, вы могли бы быть парсинг веб-сайта с помощью BeautifulSoup. Предположим, вы хотите получить на веб-сайте названия всех товаров и их цены.
Затем вы решаете поместить извлеченные данные в файл CSV или Excel. Идеальная практика - очистить название всех товаров и их цены и поместить их в отдельные столбцы. Однако использование списка в этом случае гарантирует, что у вас есть очищенные данные в специальных переменных. Затем вы можете преобразовать такие переменные в Python DataFrame позже.
Посмотрите на пример ниже:
Products = [i.text для i в bs.find_all ('теги имен')]
Price = [i.text для i в bs.find_all ('price tags')]
Как только вы получите зацикленные переменные, вы можете поместить их в отдельные столбцы в DataFrame, используя Python Pandas.
Как создать и использовать понимание списка в Python
В за цикл является важным итератором в понимании списка. Как правило, представление списка в Python принимает следующий формат:
CompferenceVariable = [выражение для элементов в списке]
Печать ПониманиеПеременная выводит результат вышеуказанного кода в виде списка.
Однако будьте осторожны, чтобы не путать понимание списка с открытым за петля.
Например, давайте использовать открытый цикл чтобы получить список всех кратных трех от 1 до 30:
myList = []
для i в диапазоне (1, 11):
myList.append (я * 3)
печать (myList)
Вывод: [3, 6, 9, 12, 15, 18, 21, 24, 27, 30]
Чтобы сравнить их, давайте сделаем то же самое, используя понимание списка:
multiplesOf3 = [i * 3 для i в диапазоне (1, 11)]
печать (multiplesOf3)
Выход = [3, 6, 9, 12, 15, 18, 21, 24, 27, 30].
Вы также можете использовать понимание списка с условными операторами. В приведенном ниже примере кода печатаются все нечетные числа от 1 до 10:
oddNumbers = [i для i в диапазоне (1, 11), если не i% 2 == 2]
печать (нечетные числа)
Выход = [1, 3, 5, 7, 9]
Теперь давайте также перепишем приведенный выше код, используя открытый за петля:
myList = []
для i в диапазоне (1, 11):
если не я% 2 == 0:
myList.append (я)
печать (myList)
Вывод: [1, 3, 5, 7, 9]
Связанный: Как добавить список в Python
Понимание списка также принимает вложенные операторы if:
oddNumbers = [i для i в диапазоне (1, 11), если не i% 2 == 0, если i <4]
печать (нечетные числа)
Вывод: [1, 3]
Также требуется вложенный за петля:
someNums = [[i * 2 для i в диапазоне (1, 3)] для _ в диапазоне (4)]
печать (someNums)
Вы также можете иметь простой вложенный за цикл в понимании списка:
someNums = [i * 2 для i в диапазоне (1, 3) для k в диапазоне (4)]
Вы также можете управлять строками с помощью списка Python. Давайте посмотрим на понимание счетчика слов ниже:
word = ["Это руководство по пониманию списка Python"]
wordCounter = [i.count ('') + 1 для i в слове]
печать (wordCounter)
Выход: 7
Понимание списка также может принимать функцию, выполняющую определенную операцию. Давайте вставим функцию умножения, которая получает четные числа в понимание списка, чтобы увидеть, как это работает:
Числа = [4, 7, 8, 15, 17, 10].
def multiplier (n):
несколько = n * 2
вернуть несколько
multipleEven = [множитель (i) для i в Numbers, если i% 2 == 0]
печать (multipleEven)
Вывод: [8, 16, 20]
Вы по-прежнему можете написать приведенный выше код в одной функции без использования понимания. Но понимание списка полезно, когда вам нужно выполнить несколько итераций и поместить каждую из них в отдельные переменные.
Например, вы можете выполнить другую операцию над п и иметь для этого специальную переменную. Давайте изменим понимание выше, чтобы генерировать четные числа из нечетных:
multipleEvenFromOdds = [множитель (i) для i в Numbers, если не i% 2 == 0]
печать (multipleEvenFromOdds)
Выход: [14, 30, 34]
Словарь и понимание множеств
В дополнение к пониманию списка Python также предлагает словарь и набор функций понимания.
Взгляните на приведенный ниже пример понимания словаря, чтобы увидеть, как это работает:
соответствующий = {i: i * 2 для i в диапазоне (10), если не i% 2 == 0}
печать (корр)
Выход: {1: 2, 3: 6, 5: 10, 7: 14, 9: 18}
Приведенный выше код выполняет итерацию по списку чисел от 1 до 9 и делает их ключами. Затем он говорит Python умножить каждый ключ на два. Наконец, он представляет результаты этой операции как соответствующие значения для каждого ключа в результирующем массиве.
Связанный: Как массивы и списки работают в Python
Понимание набора немного похоже на понимание списка. Вот пример понимания набора:
числа = {i ** (2) для i в диапазоне (10), если i% 4 == 0}
печать (числа)
Выход: {0, 16, 64}
Однако, в отличие от понимания списка, понимание множества удаляет дубликаты:
nums = {i для i в диапазоне (20), если i% 2 == 1 для k в диапазоне (10), если k% 2 == 1}
печать (числа)
Выход: {1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
Вы можете попробовать приведенный выше код, используя понимание списка, чтобы увидеть, чем они отличаются.
Можете ли вы использовать понимание списка каждый раз?
Мы рассмотрели различные примеры понимания списков и их использование. Однако, как и любой другой метод Python, вариант использования понимания списка зависит от конкретной проблемы, которую вы хотите решить. Поэтому вы должны использовать его только в том случае, если он идеально подходит для конкретной проблемы, которую вы хотите решить.
Одна из целей понимания списка - упростить ваш код и сделать его более читабельным. Поэтому старайтесь избегать сложностей при работе с ним. Например, долгое понимание Python может стать сложным для чтения. Это противоречит его цели.
Вот все, что вам нужно знать об использовании этой удивительной функции Python, которая в мгновение ока повысит вашу продуктивность и читаемость кода.
- Программирование
- Python
Идову увлечен интеллектуальными технологиями и производительностью. В свободное время он играет с кодированием и переключается на шахматную доску, когда ему скучно, но он также любит время от времени отвлекаться от рутины. Его страсть показывать людям современные технологии побуждает его писать больше.
Подписывайтесь на нашу новостную рассылку
Подпишитесь на нашу рассылку, чтобы получать технические советы, обзоры, бесплатные электронные книги и эксклюзивные предложения!
Еще один шаг…!
Пожалуйста, подтвердите свой адрес электронной почты в электронном письме, которое мы вам только что отправили.