Всегда будут некоторые различия между двумя конструкциями, которые делают одно и то же.Дело в том, что я бы не сказал, что различия в этом случае на самом деле практичны .Оба являются выражениями, которые принимают итерируемое, итерируют по нему, а затем создают из него список.
Контракт такой же: вход - итеративный вывод, список, заполненный элементами итерируемого элемента.
Да, list
может быть привязан к другому имени;list(it)
- это вызов функции, а [*it]
- отображение списка;[*it]
быстрее с меньшими итерациями, но обычно выполняет то же самое с большими итерациями.Черт, можно даже добавить тот факт, что [*it]
- это на три нажатия меньше.
Хотя это практично?Думаю ли я о них, когда пытаюсь получить список из итерируемого?Ну, может быть, нажатия клавиш для того, чтобы остаться под 79 символами и заставить линтера заткнуть его.