В пятницу не стал жестить, большинство справились с задачей.
Разбор по шагам:
1️⃣Определяется функция‑генератор:
𝚍𝚎𝚏 𝚏():
𝚢𝚒𝚎𝚕𝚍 "𝚊"
𝚢𝚒𝚎𝚕𝚍 "𝚋"
2️⃣Вызов:
𝚜 = ":".𝚓𝚘𝚒𝚗(𝚏()) — здесь берётся встроенный метод 𝚓𝚘𝚒𝚗, разделителем служит строка ":", а аргументом — генератор.
Генератор по очереди выдаёт "a", потом "b".
3️⃣Метод join работает так:
— «Собери все строки из генератора, вставь между ними разделитель»
— Результат — строка "a:b".
4️⃣Вывод:
𝚙𝚛𝚒𝚗𝚝(𝚜) → 'a:b'
Почему это важно
🔘join очень полезен: работает с любым итерируемым объектом: списком, кортежем, даже генератором.
🔘Передавая генератор, можно собирать строки «на лету» без лишней памяти и промежуточных списков.
🔘Если передать нестроковые элементы, будет TypeError, но для генератора, выдающего строки — всё корректно.
Post #4494
840
- ❤ 6