numpy模块中索引与切片的使用

numpy模块中索引与切片的使用

索引

ndarray的索引其实和pythonlist的索引极为相似。元素的索引从0开始。

import numpy as np

a = np.array([2, 15, 3, 7])
print(a[1])
# 15

b = np.array([[1, 2, 3], [4, 5, 6]])
print(b[0])
# [1 2 3]
print(b[0][1])
# 2
遍历

ndarray的遍历方式与pythonlist的遍历方式相似。

import numpy as np

a = np.array([2, 15, 3, 7])
for element in a:
    print(element)

for idx in range(len(a)):
    print(a[idx])

b = np.array([[1, 2, 3], [4, 5, 6]])
for element in b.flat:
    print(element)                  
# 将b展成一维数组后遍历并打印

for i in range(len(b)):
    for j in range(len(b[0])):
        print(b[i][j])

上述代码结果均为对应数组中每个元素的输出。

切片

ndarray的切片方式与pythonlist的遍历方式相似。举例说明:

import numpy as np

a = np.array([2, 15, 3, 7])
print(a[1:])
# 将索引从1开始到最后的所有元素切片出来并打印
# [15  3  7]

print(a[-2:])
# 将从倒数第2个开始到最后的所有元素切片出来并打印
# [3 7]

print(a[::-1])
# 将所有元素倒序切片并打印
# [ 7  3 15  2]

print(a[::])
# 将所有元素正序切片并打印
# [ 2 15  3  7]

b = np.array([[1, 2, 3], [4, 5, 6]])
print(b[1:, 1:3])
# 从第二行开始按[1:3]遍历
# [[5 6]]

print(b[0:, 2:3])
#从第一行开始按[2:3]遍历
#[[3][6]]
上一篇:python:pyqtgraph log对数坐标系禁止显示科学计数


下一篇:Codeforces 388C Fox and Card Game (贪心博弈)