切片层级的不同
今晚和同门讨论到一个之前没太注意的问题,即
list型 与 np.ndarray型 的 切片层级 有什么区别?
Test
# coding=utf-8
# list型
lst = [[10, 20],
[30, 40]]
print(lst[:][1]) # [30, 40]
try:
# list型 只能进行一级切片,否则就会抛出 TypeError
print(lst[:, 1])
except TypeError:
pass
# 转换为 np.ndaray型
import numpy as np
arr = np.array(lst)
# np.ndaray型 则可以进行 多级切片:
print(arr[:, 1]) # [20 40]
Summary
- list型 只能 进行 一级切片,否则就会抛出 TypeError;
- np.ndaray型 则 可以进行 多级切片 。