切片多维数组

Slice multidimensional array

提问人:vashista 提问时间:8/15/2022 更新时间:8/15/2022 访问量:57

问:

我有一个形状为 (250,500,500) 的数组 (images_lst),它基本上是 250 张尺寸为 500X500 的图像的列表。如何仅选择数组的第一个维度以在下面给出的循环中使用它

for n in images_lst:
    p=n
    print(p)
    #some other lines in the loop which works fine
        while p>=10:
        p+=1
        sys.exit()
        #basically I want to exit the code after the 10th image

当我打印 p 时,我得到一个数组

[[[19 18 27 ......88 90 84]]]

我想打印的是

0 1 2 ...10

此外,while 循环在这里不起作用,因为数组具有多个元素,并且无法执行布尔表达式。p>=10

Python 循环多 维数组 切片

评论


答:

0赞 Mathias 8/15/2022 #1

我猜你有一个错误的操作员...... 而 p>=10:应< 但我不确定:D我是初学者,但似乎有可能

评论

0赞 vashista 8/15/2022
当 p 大于或等于 10 时,我希望在这种情况下退出代码。所以我猜可能是正确的。p>=10
0赞 Charlie Daniels 8/15/2022 #2

当您打印 p 时,您正在打印一个数组。它将是 images_lst 3D 数组的第一行。

尝试这样做以遍历每个维度,然后针对每个最内层元素执行比较:

for x in images_lst:
    for y in x:
        for z in y:
            # if statement here 
            break

评论

0赞 vashista 8/16/2022
这个解决方案似乎不起作用,我得到了奇怪的解决方案。z 不包含列表 [0 1 2 3 4...9]