Я только что понял проблему, когда я пытаюсь использовать «+» в ситуации конкатенации списка.
Например, я могу сделать:
print([[1] + [5]* n for n in range(1, 4)])
>>> [[1, 5], [1, 5, 5], [1, 5, 5, 5]]
Но если я переключу последовательность добавления функции:
print([[5] * n for n in range(1, 4) + [1]])
Я не получу:
>>> [[5, 1], [5, 5, 1], [5, 5, 5, 1]]
Вместо этого я получил:
TypeError: unsupported operand type(s) for +: 'range' and 'list'
Есть ли способ заставить его работать?