Ответ от MSBOT получен в Skype через долгое время (более 20 минут) от сообщения, отправленного через MSBOT

Как указывали другие, вы должны использовать newlist = original[:] или newlist = list(original) для копирования списка, если вы не хотите изменять оригинал.

def plusOne(y):
    y2 = list(y)  # copy the list over, y2 = y[:] also works
    for i, _ in enumerate(y2):
        y2[i] += 1
    return y2

Однако вы можете добиться желаемого вывод с пониманием списка

def plusOne(y):
    return [i+1 for i in y]

Это приведет к переходу по значениям в y и созданию нового списка, добавив один к каждому из них

0
задан Dana V 22 January 2019 в 04:40
поделиться