ошибка что функция не принимает список
у меня есть функция role
которая принимает число и возвращает объект.
remove_roles
принимает self
и *Role
.
я создаю список a
перебирая значения из файла и применяю к ним role
a = [role(rank['role']) for rank in load(open('data.json', encoding='utf-8'))['ranks']]
Но когда я использую await object.remove_roles(a)
мне выдаёт ошибку мол мне нужно передать значения, а не список.
Можно как-то превратить список a
в набор значений или как-то ещё исправить мою проблему?
Ответы (1 шт):
Автор решения: wchistow
→ Ссылка
Чтобы превратить список в набор значений, можно использовать синтаксис *list
, например:
>>> lst = [1, 2, 3]
>>> print(lst)
[1, 2, 3]
>>> print(*lst)
1 2 3
В вашем случае надо await object.remove_roles(a)
заменить на
await object.remove_roles(*a)
# ^
Подробнее в документации: https://docs.python.org/3/tutorial/controlflow.html#tut-unpacking-arguments