【问题标题】:How to access values from a multidimensional array with a for loop?如何使用 for 循环访问多维数组中的值?
【发布时间】:2017-03-23 14:21:58
【问题描述】:

我已经创建了一个 IF 语句树来给数组中的数据集一个标签。多维数组称为featureVectors和numberOfSides,standardDeviationsPerimeter、standardDeviationsAngles(本段代码中没有用到)和maximumAngles都是包含在数组中的数组。我想通过 IF 语句传递 featureVectors 中的所有数组,但它不会循环越过第一个数组,因此给每个数据集一个标签 2。我不太擅长使用多维数组的循环。到目前为止,这是我的代码:

for shape in range(0, len(sidesDividedByPerimeter)):
    if numberOfSides[0] == 1:
       labels = 0
    elif numberOfSides[0] > 1 and numberOfSides[0] < 3.5:
       labels = 1
    elif numberOfSides[0] > 3.5:
       if standardDeviationsPerimeter[0] < 0.1458:
           if largestAngles[0] < 104.79:
              labels = 2
           elif largestAngles[0] >= 104.79:
              labels = 3
    elif standardDeviationsPerimeter[0] >= 0.1458:
           labels = 4

    print(featureVectors)
    print(labels)
    #featureVectors[shape].append(labels)

This gives me the output:

我只需要它遍历每个数组而不是在第一个停止。我知道这是因为我的 [0],但我只是不知道我应该做什么,我只学习 python。

【问题讨论】:

    标签: python arrays loops if-statement multidimensional-array


    【解决方案1】:

    这里的 shape 是在每个循环步骤中加一的循环变量,但您在循环体中根本没有使用这个变量。

    我不太明白你所有的数组是什么意思,但是尝试用 [shape] 替换所有 [0],也许它会按你的预期工作。

    【讨论】:

    • 如果我这样做它返回我 [2,2,0,0,0],前 4 个值是正确的,但第 5 个应该是 1。
    猜你喜欢
    • 2015-09-26
    • 1970-01-01
    • 2020-10-04
    • 1970-01-01
    • 2019-06-02
    • 1970-01-01
    • 2021-05-14
    • 2015-10-24
    • 1970-01-01
    相关资源
    最近更新 更多