Функция удвоения произвольного набора чисел

Показанная Python-функция уже решает задачу: *values собирает позиционные аргументы в кортеж, а list comprehension создаёт новый список удвоенных значений.

Короткий ответ

Что ответить на собеседовании

Показанная Python-функция уже решает задачу: *values собирает позиционные аргументы в кортеж, а list comprehension создаёт новый список удвоенных значений.

Подробный разбор

Ответ с пояснениями

Условие

Создайте функцию, способную принимать любое количество аргументов‑чисел и возвращать массив, где каждый элемент умножен на два. При этом количество входных значений не ограничено.

def double_all(*values):
    return [v * 2 for v in values]

Ответ

Показанная Python-функция уже решает задачу: *values собирает позиционные аргументы в кортеж, а list comprehension создаёт новый список удвоенных значений.

def double_all(*values):
    return [value * 2 for value in values]

double_all(1, 3, -2)  # [2, 6, -4]
double_all()          # []

Количество аргументов не фиксировано сигнатурой, но практически ограничено памятью. Предполагаются числа: строка при умножении на 2 повторится, а не станет числовым удвоением. Время O(n), память результата O(n), если не учитывать стоимость арифметики над большими числами.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее