Введение

Понимание списков — это мощная функция Python, позволяющая генерировать списки лаконично и быстро. В этой статье мы рассмотрим синтаксис и компоненты списковых включений, чтобы лучше понять, как они работают. Мы можем упростить процесс и понять его функционирование, выделив части понимания списка, такие как выражения, итерации и условия. Мы проиллюстрируем, как списки можно использовать для создания списков на основе определенных критериев, используя примеры из различных обстоятельств. Давайте исследуем область понимания списков и посмотрим, что мы можем найти!

полный список

new_list = [expression for item in iterable if condition]
  • []: квадратные скобки означают, что создается новый список.
  • выражение: действие или вычисление, которое будет выполняться для каждого элемента в итерируемом объекте, представлено этой фразой.
  • iterable: в этом разделе указывается итерация для элемента в iterable. Он перебирает каждый элемент в итерируемом объекте (например, список, строку, диапазон и т. д.).
  • Если условие: это необязательный компонент. Он позволяет указать критерий, определяющий, какие элементы следует включить в новый список.

Примеры

  1. Создание списка квадратов
numbers = [1, 2, 3, 4, 5]
#Syntax= [action for item in list]
squers = [x**2 for x in numbers]
print(squares)

Вывод

2. Фильтрация четных чисел

numbers = [1, 2, 3, 4, 5]
even_num = [x for x in numbers if x % 2 == 0]
#translation[print x for x in numbers list if x % 2 = 0 (even num)
print(even_num)

Выход

3. Создание списка заглавных букв

string = "hello"
Uppercase_string = [s.upper() for s in string]
print(Uppercase_string)

Вывод

4. Создание списка строк с определенными условиями

words = ["apple", "banana", "grape", "orange", "mango"]
#Translation:   [#print the word for word in words if it meat these conditions] 
selected_words = [word for word in words if len(word) >= 5 and word.startswith("m")]
print(selected_words)
  • Примечание: если вы хотите напечатать что-то, защищающее условие, просто сначала напишите имя переменной. Это похоже на то, как вы говорите, что печатаете, если ваше условие верно.

Вывод

5. Сведение двумерного списка

matrix = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
flat_matrix = [num for row in matrix for num in row]
print(flat_matrix)
  • Примечание: когда вам нужно выполнить цикл дважды, сначала выполните первый цикл, а затем второй.
  • Здесь для строки в матрице (первый цикл), для числа в строке (второй цикл)

Вывод

6. Создание списка кортежей с декартовым произведением

colors = ['red', 'green', 'blue']
sizes = ['small', 'medium', 'large']
combinations = [(color, size) for color in colors for size in sizes]
print(combinations)

Вывод

Зачем нужен исчерпывающий список🤔

  1. Список включений позволяет вам выражать сложные операции и преобразования в краткой и разборчивой форме. Они могут часто заменять многочисленные строки кода одной строкой, что уменьшает беспорядок и улучшает читаемость кода.
  2. Читаемость: подробные списки эффективно объясняют назначение вашего кода. Они используют декларативный подход, в котором вы выражаете то, что хотите сделать, а не пошаговый метод того, как это сделать. Это делает код более выразительным и понятным.
  3. Эффективность. Генерация списков в Python реализована на более низком уровне и оптимизирована для повышения эффективности. Они часто быстрее, чем перебор списка вручную с помощью цикла for, особенно при работе с огромными наборами данных. Оптимизированная реализация повышает производительность с точки зрения скорости и потребления памяти.
  4. Функциональность. Генераторы списков предоставляют краткий метод фильтрации и изменения компонентов списка в зависимости от определенных ограничений. Вы можете просто создавать новые списки на основе существующих данных, используя функции, условные выражения и математические операции. Такая адаптивность позволяет эффективно управлять различными заданиями по обработке данных.

Заключение

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

С уважением, Норан❤️