Введение
Понимание списков — это мощная функция Python, позволяющая генерировать списки лаконично и быстро. В этой статье мы рассмотрим синтаксис и компоненты списковых включений, чтобы лучше понять, как они работают. Мы можем упростить процесс и понять его функционирование, выделив части понимания списка, такие как выражения, итерации и условия. Мы проиллюстрируем, как списки можно использовать для создания списков на основе определенных критериев, используя примеры из различных обстоятельств. Давайте исследуем область понимания списков и посмотрим, что мы можем найти!
полный список
new_list = [expression for item in iterable if condition]
- []: квадратные скобки означают, что создается новый список.
- выражение: действие или вычисление, которое будет выполняться для каждого элемента в итерируемом объекте, представлено этой фразой.
- iterable: в этом разделе указывается итерация для элемента в iterable. Он перебирает каждый элемент в итерируемом объекте (например, список, строку, диапазон и т. д.).
- Если условие: это необязательный компонент. Он позволяет указать критерий, определяющий, какие элементы следует включить в новый список.
Примеры
- Создание списка квадратов
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)
Вывод
Зачем нужен исчерпывающий список🤔
- Список включений позволяет вам выражать сложные операции и преобразования в краткой и разборчивой форме. Они могут часто заменять многочисленные строки кода одной строкой, что уменьшает беспорядок и улучшает читаемость кода.
- Читаемость: подробные списки эффективно объясняют назначение вашего кода. Они используют декларативный подход, в котором вы выражаете то, что хотите сделать, а не пошаговый метод того, как это сделать. Это делает код более выразительным и понятным.
- Эффективность. Генерация списков в Python реализована на более низком уровне и оптимизирована для повышения эффективности. Они часто быстрее, чем перебор списка вручную с помощью цикла for, особенно при работе с огромными наборами данных. Оптимизированная реализация повышает производительность с точки зрения скорости и потребления памяти.
- Функциональность. Генераторы списков предоставляют краткий метод фильтрации и изменения компонентов списка в зависимости от определенных ограничений. Вы можете просто создавать новые списки на основе существующих данных, используя функции, условные выражения и математические операции. Такая адаптивность позволяет эффективно управлять различными заданиями по обработке данных.
Заключение
Я хочу упростить объяснение, потому что оно сбивает с толку. Просто не забудьте обратить внимание на синтаксис, чтобы понять, что писать, и не забывайте, что он используется для создания списка.
С уважением, Норан❤️