首页 > 解决方案 > 如何从while循环中获取所有价值而不仅仅是第一次迭代?

问题描述

最后一个是 4 行的 numpy 数组,我需要从嵌套的 while 循环中获取所有值,但是这段代码只返回最终的第一行或循环的第一次迭代。

def amir2 (final):
    i = 0
    j = 0
    temp = []
    temp2 = []
    temp3 = []
    while i < len(final):
        while j < len(final):
            cos_lib = coss(final[i] , final[j])
            temp.append(cos_lib)
            j += 1
        temp2.append(temp)
        i += 1
    return temp2

标签: pythonarraysloops

解决方案


您需要提供有关 numpy 数组的确切格式的详细信息,final以及您在循环中尝试使用该coss方法执行的操作。

如果 final 是这样定义的:

final = np.array([[1,2,3],[1,2,3],[1,2,3]], dtype=np.float64)

您可以使用 获取数组,.shape因此您可以遍历数组的所有元素,如下所示:

for x in range(0, final.shape[0]):
    for y in range(0, final.shape[1]):
        print final[x, y]

推荐阅读