← Python мануфактура

Конспект і таймкоди

0:00

Фільтрація failed status codes

Вираз [code for code in status_codes if code >= 400] проходить по input list і залишає лише значення, що відповідають умові. Результат — новий list; вихідна колекція не змінюється. Межу >= 400 треба читати точно, бо > 400 випадково відкине code 400.

1:30

Transform і вибір потрібного поля

Comprehension може не лише фільтрувати, а й перетворювати кожен element: наприклад, витягнути emails або IDs із list of dictionaries. Вираз ліворуч описує значення результату, for — джерело, а optional if — фільтр.

2:30

Lookup dictionary за ID

{user["id"]: user for user in users} будує index, де ID стає key, а весь user — value. Після цього конкретний об’єкт читається напряму, без повторного проходу по list. Якщо IDs дублюються, пізніше значення перезапише попереднє — це слід перевіряти, якщо унікальність не гарантована контрактом.

4:00

Нормалізація та set comprehension

{email.lower() for email in emails} одночасно переводить email у lower case й прибирає дублікати. Це корисно для даних із CSV або UI, де регістр може відрізнятися. Якщо важливий порядок або треба зберегти дублікати, слід обрати list comprehension замість set.