Розширені вирази-генератори

Набір інструментів Python

Hugo Bowne-Anderson

Data Scientist at DataCamp

Умови у виразах-генераторах

  • Умова для ітерованого об'єкта
    [num ** 2 for num in range(10) if num % 2 == 0]
    
[0, 4, 16, 36, 64]
  • Документація Python щодо оператора %: оператор % (modulo) повертає остачу від ділення першого аргументу на другий.
5 % 2
1
6 % 2
0
Набір інструментів Python

Умови у виразах-генераторах

  • Умова в вихідному виразі
[num ** 2 if num % 2 == 0 else 0 for num in range(10)]
[0, 0, 4, 0, 16, 0, 36, 0, 64, 0]
Набір інструментів Python

Генератори словників

  • Створюйте словники
  • Використовуйте фігурні дужки {} замість квадратних []
pos_neg = {num: -num for num in range(9)}

print(pos_neg)
{0: 0, 1: -1, 2: -2, 3: -3, 4: -4, 5: -5, 6: -6, 7: -7, 8: -8}
print(type(pos_neg))
<class 'dict'>
Набір інструментів Python

Давайте потренуємось!

Набір інструментів Python

Preparing Video For Download...