darina46722
@darina46722

Как реализовать функцию duplicate (поясните плиз)?

Как реализовать функцию duplicate, которая должна принимать в качестве аргумента список и удваивать этот список "по месту" (примечание: список передаётся по ссылке). Удваивание здесь означает, что на выходе список должен иметь копию всех элементов, добавленную в конец (см. пример ниже).
Пример:
>>> l = [1, 2]
>>> duplicate(l)
>>> l
[1, 2, 1, 2]


Моё решение:
def duplicate(value):
    if value != None:
        result = value * 2
        return result
  • Вопрос задан
  • 942 просмотра
Решения вопроса 2
Стоит воспользоваться функцией deepcopy из стандартной библиотеки для полиморфизма. И на тот случай, когда значение содержит вложенные объекты.

from copy import deepcopy

def duplicate(value):
    if value is not None:
        value += deepcopy(value)
        return value
Ответ написан
kshnkvn
@kshnkvn
yay ✌️ t.me/kshnkvn
def duplicate(value):
    if type(value) is list and value:
        value += value
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@Freddi9127
New_user_and_programming
def duplicate(items):
items.extend(items)
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы