【问题标题】:too many indices for array inn while loopwhile循环中数组的索引太多
【发布时间】:2021-06-22 05:01:39
【问题描述】:

我是 python 新手,我不擅长编写代码。这是我的代码:

N = len(data)
i = 0
j = 0
e = 10

while (i<N and j<339) :
                s[j] = data[i,1]
                i = i + 14
                j = j + 1

我得到了这个错误:

16 while (i<N and j<339) :
---> 17                 s[j] = data[i,1]
     18                 i = i + 14
     19                 j = j + 1

IndexError: too many indices for array

请问有人可以帮我解决吗?提前谢谢你。

【问题讨论】:

  • 我猜你的data 变量是一个嵌套数组?然后你必须像这样访问它:data[i][1]。请发布示例data,以便我们提供更好的帮助。
  • @ineskueta 任何答案对您有帮助吗?考虑accepting吧。
  • 这能回答你的问题吗? Storing lists within lists in Python

标签: python arrays indexing while-loop operators


【解决方案1】:

[]只能输入一个数字

假设data 是一个二维数组:

如果你想在一个数组里面访问一个数组里面的值,像这样放置几对[]

s[j] = data[i][1]

第一对括号将访问数据内的数组,然后第二对将访问子数组内的值。


Related(数组中的数组)

【讨论】:

    【解决方案2】:

    我认为使用 append 方法而不是 index

    s.append(data[i][1])
    

    【讨论】:

      【解决方案3】:

      错误位于以下行的语法中:

      s[j] = data[i,1]
      

      正如错误所说,您正试图在 2 个不同的索引处访问数据数组,这会导致错误

      【讨论】:

        猜你喜欢
        • 2019-12-06
        • 2018-05-21
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-07-30
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多