list
получает итерацию и возвращает чистый список python. Это встроенный python способ преобразования любого повторяемого в чистый python список.
to_list
- это метод из базовых pandas классов объектов, который преобразует их объекты в чистом виде python lists
. Разница заключается в том, что реализация выполняется pandas разработчиками ядра, которые могут оптимизировать процесс в соответствии с их пониманием и / или добавить дополнительные функциональные возможности в преобразование, чего не сделает чистый list(....)
.
Например, source_code
для этой части:
def tolist(self):
'''(...)
'''
if self.dtype.kind in ["m", "M"]:
return [com.maybe_box_datetimelike(x) for x in self._values]
elif is_extension_array_dtype(self._values):
return list(self._values)
else:
return self._values.tolist()
Что в основном означает, что to_list
, скорее всего, в конечном итоге будет использовать либо обычное понимание списка - аналогично list(...)
но следит за тем, чтобы конечные объекты имели тип datetime
от panda вместо python datetime -; прямая чистая list(...)
конверсия; или используя numpy
tolist()
реализацию.
различия между последним и python * list(...)
можно найти in this thread
.