Python просто | з Коропом
222 subscribers
68 photos
43 links
Легко і доступно розказую про Пайтон

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

Автор — @kor0p, практикуючий Пайтоніст з п'ятирічним досвідом 😎


Чат — @python_kor0p_chat
Download Telegram
Мало хто знає про аргумент key у функції max, але він буває дуже корисний
Цим аргументом ми кажемо за яким принципом треба відсортувати елементи, щоб знайти найбільший

Як показано у прикладі, ми можемо запросто знайти найбільший за довжиною текст у масиві


Спробувати самостійно | Підписатись
👍33
Швидкий спосіб об'єднати дані та їхні заголовки у словник, про який багато хто не знає 🌚

А все дуже просто — zip створює пари з двох послідовностей, а dict ці пари перетворює на ключ-значення


Спробувати самостійно | Підписатись
👍22
Мабуть, усі чули про f-стрічки)
Але не всі знають, що у саме форматування теж можна вставляти змінні 😱

Ця можливість існує ще з часів, коли f-стрічок не було (а лише .format), але тоді такі вирази були дуже заплутаними 🥲


Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33
Пайтон вражає своїми можливостями — навіть тоді, коли ніхто цього не просить 🙈

Так, цей код цілком робочий і легальний. Але на роботі за таке точно надають по пальцях 🌚

Думаю, навіть сам Гвідо сприяв би появі оператора моржа (:=), щоб люди не писали такий код 🙃


Спробувати самостійно | Підписатись
👍2😁22
Сьогодні — повернемось до простіших прикладів)

Хтось не знав, а хтось забув, але метод .pop у словників дуже крутий:
▫️ Одразу повертає значення, яке щойно видалив
▫️Якщо вказати дефолтне значення (другий аргумент), то при відсутності ключа в словнику — не буде помилки


Спробувати самостійно | Підписатись
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22
Думаєте усе знаєте про масиви? Можу посперечатись, що це не так 😎

Ось цікавий приклад: у Пайтоні можна заміняти не тільки один елемент у списку, але й декілька (через зріз [0:1]) або замінити його увесь (через повний зріз [:])
І при цьому довжина списку може змінюватись — проблеми в цьому нема)


Спробувати самостійно | Підписатись
4👍2
А що ви знаєте про розпакування (unpacking) у Пайтоні?

А чи знали ви, що генератори також можна розпакувати?)

Це може бути корисно, наприклад, для створення індексів з іменами при зчитуванні таблиці чи csv-файлу


P.S. Так, range це генератор, і так, з іншими генераторами це також працює)


Спробувати самостійно | Підписатись
3
А сьогодні у мене для вас маленький хак для запису чисел

Пайтон дозволяє додати нижнє підкреслення, щоб зробити візуально приємнішим і простішим вигляд числа
Додати можна і декілька підкреслень, але не підряд


Спробувати самостійно | Підписатись
👍42
Час поговорити і про щось складніше, а саме — про генератори

Генератори — це такі ліниві ітератори. Вони виконуються тільки тоді, коли насправді треба буде

Один зі способів створення генератора — це швидкий вираз (comprehension) з круглими дужками

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


Спробувати самостійно | Підписатись
💅22