Python List Comprehensions with Examples
Replace a four-line loop with one readable line that transforms and filters a list.
- The [expression for item in iterable] form
- Filtering with if
- Dict and set comprehensions
- 1
for n in range(1, 11)Take each number - 2
if n % 2 == 0Keep the even ones - 3
n * nSquare them - 4
[4, 16, 36, 64, 100]Collect the results
Loop, filter and result in one expression
Генератор списка (list comprehension) это краткий способ создать новый список на основе существующей последовательности. В одном выражении объединяются цикл, условие отбора и преобразование каждого элемента. В простых случаях это читается легче, чем обычный цикл for.
Главное
- [x * x for x in nums] builds a new list of squares.
- Add a condition at the end: [x for x in nums if x
%2==0]. - The original list is not changed.
- Use a normal loop when the logic needs several steps.
Когда это нужно?
- Освоить синтаксис и основные понятия Python на коротких и понятных примерах.
- Заложить прочную основу, прежде чем переходить к более сложным задачам.
- Запускать код прямо в браузере, не устанавливая Python на компьютер.
Как это работает
Нажимайте Шаг, чтобы пропустить каждое число через условие и выражение. Измените условие или выражение, чтобы построить другой список.
Пример кода
numbers = range(1, 11)
even_squares = [number ** 2 for number in numbers if number % 2 == 0]
print(even_squares)
Результат выполнения
[4, 16, 36, 64, 100]
Разбор кода
Условие if number % 2 == 0 оставляет только чётные числа от 1 до 10. Затем выражение number ** 2 вычисляет квадрат каждого оставшегося числа, и получается [4, 16, 36, 64, 100]. Когда логика усложняется, лучше вернуться к циклу for, чтобы код оставался понятным.
Измените значения и запустите программу в онлайн-компиляторе Python CodeUtility без локальной установки Python.
Упражнения для практики
Попробуйте изменить код по подсказкам ниже. Если менять код и смотреть на результат, урок запомнится гораздо лучше, чем при простом чтении.
- Измените входные данные и предскажите результат до запуска.
- Добавьте проверку пустых или неверных данных.
- Вынесите обработку в отдельную функцию и проверьте её на нескольких наборах данных.
Попрактикуйтесь на задаче
Примените материал этого урока к реальной задаче. Каждая задача запускается в браузере, с мгновенными тестами и разбором от ИИ.
- Count Positive Numbers Count the values greater than zero in a list. Легко
- Above-Average Values Keep the values that are greater than the average. Легко
- Удаление дубликатов Оставьте только первое вхождение каждого значения. Легко