НАЙКРАЩИЙ САЙТ ДЛЯ ВЕБ-РОЗРОБНИКІВ

Python Підручник

Python СТАРТ Python Інтро Python Встановлення Python Синтаксис Python Коментарі Python Змінні Python Типи даних Python Числа Python Кастинг Python Рядки Python Булеві Python Оператори Python Списки Python Кортежі Python Сети (Набори) Python Словники Python If...Else Python Цикли While Python Цикли For Python Функції Python Лямбда Python Масиви Python Класи/Об’єкти Python Наслідування Python Ітератори Python Область дії (видимості) Python Модулі Python Дати Python Математика Python JSON Python RegEx Python PIP Python Try...Except Python Користувацький ввод Python Форматування рядка

Обробка файлів

Python Обробка файлів Python Читання файлів Python Запис/Створення файлів Python Видалення файлів

Python Modules

NumPy Tutorial Pandas Tutorial SciPy Tutorial Django Tutorial

Python Matplotlib

Matplotlib Інтро Matplotlib Початок роботи Matplotlib Pyplot Matplotlib Складання графіка Matplotlib Маркери Matplotlib Лінія Matplotlib Лейбли Matplotlib Сітка Matplotlib Subplots Matplotlib Scatter Matplotlib Бари Matplotlib Гістограми Matplotlib Кругові діаграми

Машинне навчання

Початок роботи Середній режим Стандартне відхилення Перцентиль Розподіл даних Звичайний розподіл даних Діаграма розкиду Лінійна регресія Поліноміальна регресія Множинна регресія Шкала Тренування/Тест Дерево рішень Confusion Matrix Hierarchical Clustering Logistic Regression Grid Search Categorical Data K-means Bootstrap Aggregation Cross Validation AUC - ROC Curve K-nearest neighbors

Python MySQL

MySQL Початок роботи MySQL CREATE DATABASE MySQL CREATE TABLE MySQL INSERT INTO MySQL SELECT MySQL WHERE MySQL ORDER BY MySQL DELETE FROM MySQL DROP TABLE MySQL UPDATE MySQL LIMIT MySQL JOIN

Python MongoDB

MongoDB Початок роботи MongoDB Створення бази даних MongoDB Створити колекцію MongoDB Вставити MongoDB Знайти MongoDB Запит MongoDB Сортувати MongoDB Видалити MongoDB Drop колекція MongoDB Оновлення MongoDB Ліміт

Python Reference

Python Огляд Python Вбудовані функції Python Рядкові методи Python Методи списку Python Словникові методи Python Кортежні методи Python Set методи Python Файлові методи Python Ключові слова Python Винятки Python Глосарій

Довідник модулів

Модуль Random Модуль Запитів Модуль Статистики Модуль Math Модуль cMath

Python Як зробити?

Видалити копії списків Обернути рядок Додати два числа

Python Приклади

Python Приклади Python Компілятор Python Вправи Python Вікторина Python Сертифікат

Python. W3Schools українською. Уроки для початківців

En

Python - List Comprehension (генератор списків)


List Comprehension (генератор списків)

List Comprehension (генератор списків) пропонує коротший синтаксис, коли ви хочете створити новий список на основі значень існуючого списку.

Приклад:

На основі списку фруктів вам потрібен новий список, який містить лише фрукти з літерою "а" в назві.

Без генератора списку вам доведеться написати інструкцію for із умовним тестом усередині:

Приклад

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]
newlist = []

for x in fruits:
  if "a" in x:
    newlist.append(x)

print(newlist)
Спробуйте самі »

З генератором списку ви можете зробити все це за допомогою лише одного рядка коду:

Приклад

fruits = ["apple", "banana", "cherry", "kiwi", "mango"]

newlist = [x for x in fruits if "a" in x]

print(newlist)
Спробуйте самі »

Синтаксис

newlist = [expression for item in iterable if condition == True]

Поверненим значенням є новий список, який залишає старий список без змін.


Стан

Умова схожа на фільтр, який приймає лише ті елементи, які мають значення True.

Приклад

Приймати лише ті елементи, які не є "apple":

newlist = [x for x in fruits if x != "apple"]
Спробуйте самі »

Умова if x != "apple"  поверне значення True для всіх елементів, крім "apple", завдяки чому новий список міститиме всі фрукти, крім "apple".

Умова є необов’язковою та може бути опущена:

Приклад

Без інструкції if:

newlist = [x for x in fruits]
Спробуйте самі »

Ітерація

Ітерація може бути будь-яким ітерованим об’єктом, як-от список, кортеж, набір тощо.

Приклад

Ви можете використовувати функцію range() для створення ітерованого об’єкта:

newlist = [x for x in range(10)]
Спробуйте самі »

Той же приклад, але з умовою:

Приклад

Приймати лише числа, менші за 5:

newlist = [x for x in range(10) if x < 5]
Спробуйте самі »

Вираз

Вираз є поточним елементом у ітерації, але це також результат, яким ви можете маніпулювати, перш ніж він закінчиться як елемент списку в новому списку:

Приклад

Установіть значення у новому списку у верхній регістр:

newlist = [x.upper() for x in fruits]
Спробуйте самі »

Ви можете встановити будь-який результат:

Приклад

Установіть для всіх значень у новому списку значення 'hello':

newlist = ['hello' for x in fruits]
Спробуйте самі »

Вираз також може містити умови, не як фільтр, а як спосіб маніпулювання результатом:

Приклад

Поверне "orange" замість "banana":

newlist = [x if x != "banana" else "orange" for x in fruits]
Спробуйте самі »

Вираз у прикладі вище говорить:

"Поверніть товар, якщо це не банан, якщо це банан, поверніть апельсин".