TGStat
TGStat
Qidiruv uchun matnni kiriting
Ilg‘or kanal qidiruvi
  • flag Uzbek
    Sayt tili
    flag Russian flag English flag Uzbek
  • Saytga kirish
  • Katalog
    Kanal va guruhlar katalogi Hududiy to‘plamlar Tematik to‘plamlar Платные каналы Kanallar qidiruvi
    Kanal/guruh qo‘shish
  • Reytinglar
    Kanallar reytingi Guruhlar reytingi Postlar reytingi
    Brendlar va shaxslar reytingi
  • Analitika
  • Postlarda qidiruv
  • Telegram'ni kuzatish
  • Targ‘ibot
    Yandex Business orqali reklama TGStat Agency orqali kanallarda reklama TGStat.ru saytida reklama
Библиотека Python разработчика | Книги по питону

31 Aug, 08:28

Telegram'da ochish Ulashish Shikoyat qilish

Оптимизация кода с помощью генераторов в Python

Сегодня хочу показать вам, как использование генераторов может сделать ваш код быстрее, экономнее по памяти и элегантнее.

Что такое генераторы?
Генераторы — это функции, которые используют yield вместо return. Они не возвращают сразу все значения, а запоминают своё состояние и отдают результат по мере необходимости. Это особенно полезно при обработке больших объемов данных, так как позволяет не загружать всю информацию в память сразу.

Пример: экономия памяти
Допустим, нам нужно обработать миллион чисел и взять из них только четные. Обычный способ:


def get_even_numbers(n):
result = []
for i in range(n):
if i % 2 == 0:
result.append(i)
return result

numbers = get_even_numbers(10**6)
print(len(numbers)) # 500000


Такой код загружает в память весь список, что может быть проблемой при больших данных.

А теперь переделаем на генератор:


def get_even_numbers_gen(n):
for i in range(n):
if i % 2 == 0:
yield i

numbers = get_even_numbers_gen(10**6)
print(sum(1 for _ in numbers)) # 500000


Здесь список не создается, а элементы выдаются по одному. Это экономит память и ускоряет обработку!

Где применять?
✔️ Чтение больших файлов построчно (yield line)
✔️ Работа с потоками данных
✔️ Генерация последовательностей без создания списков


📲 Мы в MAX

👉@BookPython

1.1k 0 8 1 2
Katalog
Kanal va guruhlar katalogi Kanallar to‘plamlari Kanallar qidiruvi Kanal/guruh qo‘shish
Reytinglar
Telegram-kanallar reytingi Telegram-guruhlar reytingi Postlar reytingi Brendlar va shaxslar reytingi
API
Statistika API'si Postlar qidiruvi API'si API Callback
Kanallarimiz
@TGStat @TGStat_Chat @telepulse @TGStatAPI
O‘qish
Академия TGStat Telegram tadqiqoti 2019 Telegram tadqiqoti 2021 Telegram tadqiqoti 2023
Kontaktlar
Справочный центр Qo‘llab-quvvatlash Email Vakansiyalar
Har xil narsalar
Foydalanuvchi shartnomasi Maxfiylik siyosati Ommaviy oferta
Botlarimiz
@TGStat_Bot @SearcheeBot @TGAlertsBot @tg_analytics_bot @TGStatChatBot