В чем разница между применением list()
в массиве numpy
против вызова tolist()
?Разница между списком (numpy_array) и numpy_array.tolist()
Я проверял типы обоих выходов, и оба они показывают, что то, что я получаю в результате, - это list
, однако выходы не выглядят точно так же. Это связано с тем, что list()
не является специальным методом (т. Е. Может применяться к любой последовательности), а tolist()
-numpy
- конкретный, и только в этом случае они возвращают то же самое?
Входной сигнал:
points = numpy.random.random((5,2))
print "Points type: " + str(type(points))
Выход:
Points type: <type 'numpy.ndarray'>
Входной сигнал:
points_list = list(points)
print points_list
print "Points_list type: " + str(type(points_list))
Выход:
[array([ 0.15920058, 0.60861985]), array([ 0.77414769, 0.15181626]), array([ 0.99826806, 0.96183059]), array([ 0.61830768, 0.20023207]), array([ 0.28422605, 0.94669097])]
Points_list type: 'type 'list''
Вход:
points_list_alt = points.tolist()
print points_list_alt
print "Points_list_alt type: " + str(type(points_list_alt))
Выход:
[[0.15920057939342847, 0.6086198537462152], [0.7741476852713319, 0.15181626186774055], [0.9982680580550761, 0.9618305944859845], [0.6183076760274226, 0.20023206937408744], [0.28422604852159594, 0.9466909685812506]]
Points_list_alt type: 'type 'list''
Одним из них является списком списков, другой список 'numpy' массивов - потому что' .tolist' «идет вниз по дереву» и правильно делает каждый уровень в списки, а 'list (...)' just "ходит" на верхнем уровне. Итак, что ** ** вопрос ...? –
Нет необходимости в этом утверждении вообще: напечатайте «Тип точек:» + str (тип (точки)), вы можете проверить тип переменной с помощью типа (varName_here) i.e., type (points) – Mohammed