提问人:vashista 提问时间:8/15/2022 更新时间:8/15/2022 访问量:57
切片多维数组
Slice multidimensional array
问:
我有一个形状为 (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
答:
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]
评论