我无法在列表中添加int

时间:2014-04-13 04:52:42

标签: python python-3.x data-structures python-3.4

list == []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

list.append(MultiplesNumber(100))
TypeError: descriptor 'append' requires a 'list' object but received a 'int'

我无法将i添加到list,任何想法?

2 个答案:

答案 0 :(得分:6)

您的代码有两个问题:

  • 您正在执行list == [],它返回True或False,因为==是比较运算符。在这种情况下,它返回False。您需要使用=初始化变量。
  • list是python中内置类型的名称,使用其他名称作为变量名称。

修复它们:

alist = []

def MultiplesNumber(a):
    for i in range(1, a+1):
             if a % i == 0:
                    return i

alist.append(MultiplesNumber(100))

给出正确的输出。

答案 1 :(得分:0)

list是内置的关键字,会隐藏您的list变量。您需要为变量分配一个列表,而不是检查它的相等性。

lst = []


def MultiplesNumber(a):
    return [x for x in range(1, a + 1) if a % 2 == 0]


lst.append(MultiplesNumber(100))
print(lst)