Нарезка двухмерного массива без импорта NumPy - PullRequest
0 голосов
/ 26 октября 2019

Я учусь работать с 2-мерными массивами и сейчас пытаюсь понять, как это сделать без импорта numPy. Простой 1-D массив может быть разрезан соответствующим образом:

Array1 = [1, 2, 3, 4, 5, 6, 7, 8, 9]
Array[start:stop:step]

Но что, если массив будет вместо этого:

Array2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]

Я вижу, что могу нарезать определенные элементы, содержащиеся всписки списка, такие как:

Array2[0][1]
2

Однако, какой будет возможный метод нарезки, скажем, элементов 3, 4, 5, 6, 7, 9 (или любых других значений), пока они все еще содержатся в ихсоответствующие списки.

1 Ответ

1 голос
/ 26 октября 2019

Нет простого способа индексировать вложенные списки так, как вы хотите. Однако вы можете добиться эффекта сглаживания списка (возвращая один список, мы назовем Array3), а затем соответствующим образом проиндексировав.

Array2 = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
Array3 = [item for sublist in Array2 for item in sublist]
Array3[2:]
>>>> [3, 4, 5, 6, 7, 8, 9]

Для получения дополнительной информации см. Как создать плоский списоквне списка?

...