⚡ Минимальный пример
with open("data.txt", "r", encoding="utf-8") as f:
lines = (line.strip() for line in f if line.strip())
print(sum(1 for _ in lines))
Читаем файл и считаем непустые строки генераторным выражением.
Пример 1. Чтение файла построчно
# summary_01_read_file.py
with open("data.txt", "r", encoding="utf-8") as file:
for line in file:
print(line.strip())
Пример 2. Итератор и next()
# summary_02_iterator.py
values = iter([10, 20, 30])
print(next(values)) # 10
print(next(values)) # 20
print(next(values, "конец")) # 30
print(next(values, "конец")) # конец
Пример 3. Генераторное выражение
# summary_03_generator.py
numbers = [1, 2, 3, 4, 5]
squares = (x ** 2 for x in numbers)
print(list(squares)) # [1, 4, 9, 16, 25]
Пример 4. itertools.chain
# summary_04_chain.py
import itertools
fruits = ["apple", "banana"]
vegetables = ["carrot", "tomato"]
for item in itertools.chain(fruits, vegetables):
print(item)