Вчерашняя задача была короткой, но интересной и как оказалось сложной. Правильно ответили всего 9 человек из 33-х, что равно 27%.

Код задачи:

``` numbers = [1, 2, 3] numbers.append(*[4, 5])

print(numbers) ```

Разбор задачи Сперва пройдёмся по строкам.

Сначала объявляем переменную numbers и присваиваем ей список чисел [1, 2, 3].

Затем у переменной numbers вызываем метод .append(), передав в него распакованный список [4, 5].

В конце вызываем функцию print(), передав в неё переменную numbers для вывода результата.

Что могло пойти не так? Функции в Python принимают два вида аргументов: позиционные и ключевые. В нашем случае, мы передаём в метод .append() один позиционный аргумент - список [4, 5], однако, затем мы применяем к нему распаковку. Мы уже писали про работу распаковки в разборе задачи "Найди ошибку №2".

Всё дело в том, что, когда применяется распаковка, все элементы передаются как отдельные аргументы, в связи с чем и получаем ошибку TypeError, поскольку метод .append() принимает только один позиционный аргумент, а мы ему передаём два.

repost

177

input message

напишите коммент

еще контент в этом сообществе

еще контент в этом соообществе

войдите, чтобы увидеть

и подписаться на интересных профи

в приложении больше возможностей

пока в веб-версии есть не всё — мы вовсю работаем над ней

сетка — cоциальная сеть для нетворкинга от hh.ru

пересекайтесь с теми, кто повлияет на ваш профессиональный путь