首页 > 解决方案 > 在一定间隔内从数组中提取整数

问题描述

我想以一定的间隔从数组中提取数字。该数组的大小为 (1,20)。我想以 4 的间隔打印这个数组中的数字。我试图从数组中打印从 0 到 20 的所有第 4 个数字。但我怀疑我的代码没有在 0 到 20 范围内打印正确的第四个数字。我试图从stimnumber这里提取列号。stimnumber有一个形状 (1,20)

如果

stimnuber = [[1,1,1,1,4,4,4,4,8,8,8,8,9,9,9,9,0,0,0,0]]

我想打印所有数字 1、4、8、9 和 0。

j = 0
for j in range(stimnumber.shape[1]):
    while j < 5:
        stimnum = stimnumber[:,j::20]
        print(stimnum[:,j])
        j += 20

标签: pythonarraysloops

解决方案


只需以 4 步迭代

stimnumber =[[1,1,1,1,4,4,4,4,8,8,8,8,9,9,9,9,0,0,0,0]]
for i in range(0,len(stimnumber[0]),4):
  print(stimnumber[0][i])

或者如 wjandrea 所指出的,如果您熟悉数组切片(https://www.geeksforgeeks.org/python-list-comprehension-and-slicing/),您可以尝试:

stimnumber =[[1,1,1,1,4,4,4,4,8,8,8,8,9,9,9,9,0,0,0,0]]
for i in stimnumber[0][::4]: print(i)

基本上它意味着数组位置的 [start, stop, step]


推荐阅读