Возможно, вы путаете фактические структуры данных с их отображениями.
Если я скопирую и вставлю ваш 'обычный массив с запятыми':
In [593]: alist = [[392, 200],
...: [461, 194],
...: [392, 200],
...: [161, 202]]
Я получу вложенный список, который отображается как:
In [594]: alist
Out[594]: [[392, 200], [461, 194], [392, 200], [161, 202]]
Это разделено запятыми, но не разбито на аккуратные строки.
Если из этого я получу массив numpy
:
In [595]: arr = np.array(alist)
In [596]: arr
Out[596]:
array([[392, 200],
[461, 194],
[392, 200],
[161, 202]])
Дисплей repr
массива содержит запятые, но дисплей str
пропускает их:
In [597]: print(arr)
[[392 200]
[461 194]
[392 200]
[161 202]]
Это тот же массив, та же структура данных, но с разными строками дисплея.
Мы можем получить list
из этого с помощью:
In [599]: arr.tolist()
Out[599]: [[392, 200], [461, 194], [392, 200], [161, 202]]
Но различия между list
и ndarray
намного больше, чем отображение запятой или нет.