Asterix *
- не просто унарный оператор, это оператор аргумента-распаковки для определений функций функций и .
Итак, *
предполагается использовать только для работы с параметрами функции, а не со списками, кортежами и т. д.
ПРИМЕЧАНИЕ: начиная с python3.5, *
может использоваться не только с параметрами функций, @ B. Ответ M в значительной степени описывает это изменение в python.
Если вам нужно использовать concat-списки, используйте concatenation вместо list1 + list2
, чтобы получить желаемый результат. Чтобы объединить список и генератор, просто передайте объект generator
в list
, предварительно связав его с другим списком:
gen = (x for x in range(10))
[] + list(gen)