Python:类型错误: 'NoneType' 对象不可下标

标签 python list sorting

#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)

关于Python:类型错误: 'NoneType' 对象不可下标,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40583008/

相关文章:

php - 仅按数字对数组排序

python - ValueError : Cannot feed value of shape (64, ) 对于张量 'x:0' ,其形状为 '(?, 128, 128, 1)'

python - 如何用函数删除行?

string - 将输入列表中的每个连续元素比前一个元素重复一个

python - 解析通过 fromfile 从二进制文件读取的 numpy 列表

javascript - 使用 javascript 从 html 列表中过滤元素

不同浏览器上的javascript排序歧义

单链表上的 C 程序返回错误

python - 从 4 波段图像(光栅)中提取 RGB

python - 从 C++ 调用 python 脚本而不每次都加载文件