第14165题 单选
针对寻找1~100之间因数最多的数的Python代码,选出说法正确的选项

下列Python代码用于寻找1~100之间因数最多的数及其因数,程序本意是factor变量存储形如{6:[1,2,3,6],8: [1,2,4,8]}的字典,代码如下:

factor = {}
for i in range(1,100):
    for j in range(1,i+1):
        if i % j == 0:
            factor[i] = factor.get(i,[]).append(j)
print(max(factor.items()), key = lambda x:len(x[1]))
A

程序第5行存在语法错误,因为append()的返回值为None

B

程序第5行运行时会出错:当某个数第一次作为factor的key时,其对应的值为append()的返回值None;当该数第二次作为factor的key时,factor.get(i, [])返回值为None而非空列表,无法调用append方法

C

程序第6行存在语法错误,因为max()不能有key参数

D

程序第6行存在语法错误:max()可以使用key参数,但其中的lambda函数存在语法错误