Используйте вторую форму. Это больше Pythonic, и это, вероятно, быстрее (поскольку это не связано с загрузкой и вызовом отдельной функции).
Ответ 2
list - это глобальное имя, которое может быть переопределено во время выполнения. list() вызывает это имя.
[] всегда является литералом списка.
Ответ 3
Для завершения еще нужно отметить, что list((a,b,c)) вернет [a,b,c], тогда как [(a,b,c)] не распакует кортеж. Это может быть полезно, если вы хотите преобразовать кортеж в список. Обратное работает тоже, tuple([a,b,c]) возвращает (a,b,c).
Изменить: Как упоминает orlp, это работает для любых итеративных, а не только кортежей.