【问题标题】:'int' object is not subscriptable // python matrix issue'int' 对象不可下标 // python 矩阵问题
【发布时间】:2020-02-03 04:23:44
【问题描述】:

我正在尝试按照说明编写代码,但我在第 3 行得到“'int' object is not subscriptable”。请你帮我看看发生了什么?提前致谢!

说明: 给定 2 个整数数组 a 和 b,如果它们具有相同的第一个元素或它们具有相同的最后一个元素,则返回 True。两个数组的长度都为 1 或更大。 即:common_end([1, 2, 3], [7, 3]) → True

代码:

def common_end(a, b):
    if len(a)>=1 and len(b)>=1:
        if (a[0][0]==b[1][0] or a[0][len(a)-1]== b[0][len(b)-1]):----> Error Line
            return True
        else:
            return False
    else:
        return False

【问题讨论】:

标签: python list


【解决方案1】:

问题是您对数组进行双索引(即a[0][0]) - 这仅适用于多维数组。

要获取数组的第一个元素,您可以这样做:a[0]

要获取数组的最后一个元素,您可以这样做:a[-1]

因此,您可以将第 3 行改写如下:

if (a[0]==b[0] or a[-1]==b[-1]):

【讨论】:

  • 谢谢丹尼尔!我将自己与多维数组混淆了。该解决方案完全有效。
【解决方案2】:

您正试图像访问二维列表一样访问平面列表。 a[0][0] 将在 a[0] 找到一个 int 并在您尝试通过执行 a[0][0] 访问其“第一个元素”时崩溃。

您应该使用嵌套循环来比较列表的数字。

【讨论】:

  • 感谢 WorkShoft!。我会为下一个挑战考虑嵌套循环。问候!
猜你喜欢
  • 1970-01-01
  • 2012-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-20
  • 2015-07-31
  • 2012-04-04
  • 2012-01-03
相关资源
最近更新 更多