Напишите функцию, которая принимает список email-адресов и возвращает уникальные домены из этого списка. Домен — это часть адреса после символа
@
.["[email protected]", "[email protected]", "[email protected]", "[email protected]"]
#{"example.com", "test.com", "sample.com"}
Решение задачи
def get_unique_domains(emails):
domains = {email.split('@')[1] for email in emails}
return domains
# Пример использования:
emails = ["[email protected] ", " [email protected] ", " [email protected] ", " [email protected] "]
result = get_unique_domains(emails)
print(result) # Ожидаемый результат: {'example.com ', ' test.com ', ' sample.com '}
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2
asyncio
в Python и как оно используется для асинхронного программирования?asyncio
— это стандартная библиотека Python, предоставляющая инструменты для асинхронного программирования, таких как задачи (tasks), корутины (coroutines) и управление циклами событий (event loops). Она позволяет выполнять множество операций ввода-вывода (например, сетевые запросы) параллельно, не блокируя основной поток.import asyncio
async def fetch_data(delay, name):
print(f"Начинаем получение данных {name}")
await asyncio.sleep(delay) # Асинхронная задержка
print(f"Завершено получение данных {name}")
async def main():
# Запускаем несколько задач параллельно
await asyncio.gather(
fetch_data(2, "A"),
fetch_data(1, "B"),
fetch_data(3, "C"),
)
# Запуск цикла событий
asyncio.run(main())
🗣️ В этом примере asyncio.gather запускает три асинхронные задачи одновременно, позволяя эффективно использовать время ожидания ввода-вывода. asyncio полезен для построения сетевых приложений, ботов и других асинхронных систем.
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2
• Как продакт-менеджеру учить английский: план, сроки, советы
• Иллюзия прогресса: почему мне не удалось дать студентам-айтишникам реальный опыт
• Из подземелья в QA: как и почему я перешёл в тестирование после 14 лет работы сисадмином в метрополитене
• Нам не нужны кодеры, нам нужны инженеры-разработчики
• Как мы разработали систему грейдинга для системных аналитиков
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡2
Сейчас ты всё помнишь. Но через месяц? Или кто-то другой?
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥2
Напишите функцию, которая принимает список чисел и возвращает второе наибольшее число. Если в списке меньше двух уникальных чисел, функция должна вернуть
None
.[10, 20, 4, 45, 99]
45
[5, 5, 5]
None
Решение задачи
def find_second_largest(numbers):
# Удаляем дубликаты и сортируем список в порядке убывания
unique_numbers = sorted(set(numbers), reverse=True)
# Если уникальных чисел меньше двух, возвращаем None
return unique_numbers[1] if len(unique_numbers) >= 2 else None
# Пример использования:
print(find_second_largest([10, 20, 4, 45, 99])) # Ожидаемый результат: 45
print(find_second_largest([5, 5, 5])) # Ожидаемый результат: None
Please open Telegram to view this post
VIEW IN TELEGRAM
⚡1