试图形成一个仅从元组中取整数就从元组拆解中获取其大小的数组

时间:2018-09-23 05:05:30

标签: python

if (type(n) == int):
    y = np.zeros(n)
    y[0] = seed
elif (type(n) == tuple):
    for a,b in n:
        if (type(a) == int):
            y = np.zeros(a)
            y[0] = seed
        elif (type(b) == int):
            y = np.zeros(b)
            y[0] = seed

我一直试图通过元组拆包来获取此代码,以仅接受输入到元组中的整数,并使用该整数形​​成一个由零组成的数组,该整数用于形成其大小并丢弃其余部分,但是我似乎无法避免收到错误消息 TypeError:'int'对象不可迭代,无论如何您可以帮助我解决此问题,此代码中有两种情况,其中n可以是整数或元组。谢谢您的帮助

1 个答案:

答案 0 :(得分:1)

看起来n是一个(两个元素?)元组-例如(x,y)。然后,行for a,b in n:基本上等效于for a,b in (x,y):。在循环的第一次迭代中,Python尝试将元组x的第一个元素分配给a,b,这是不可能的。

您应该使用赋值a,b=n替换循环,或者只使用n[0]n[1]而不是ab