Python:TypeError:“ NoneType”对象不可下标
问题内容:
#Uses python3
import sys
def max_dot_product(a,b,n):
a = a.sort(reverse=True)
b = b.sort(reverse=True)
res = 0
for i in range(n):
res += a[i]*b[i]
return res
if __name__ == '__main__':
data = [int(x) for x in input("").split()]
n = data[0]
a = data[1:(n + 1)]
b = data[(n + 1):]
print(max_dot_product(a,b,n))
当我运行此代码时,它表明“ TypeError:’NoneType’对象不可下标”。
问题答案:
sort
对列表 进行适当 排序 , 并(隐式)返回None
。删除返回值的分配,您应该可以:
a.sort(reverse=True)
b.sort(reverse=True)