首页 > 解决方案 > 'TypeError: 'NoneType' 对象不可下标' 关于列表

问题描述

这个错误是什么意思?

这是我的代码:

import csv
from statistics import mean

averages = list()
sorted_averages = list()
dic = dict()
with open('first.csv') as fopen:
    reader = csv.reader(fopen)
    for line in reader:
        name = line[0]
        line = line[1:]
        counter = 0
        for i in line:
            i = float(i)
            line[counter] = i
            counter += 1
        average = mean(line)
        averages.append(average)
        dic[name] = average
    for i in range(0, len(averages)):
        maxi = 0
        maxi1 = 0
        for number in averages:
            if number > maxi:
                maxi = number
            elif number == maxi:
                maxi = number
                maxi1 = number
            else:
                maxi = maxi
        sorted_averages.append(maxi)
        averages.remove(maxi)
    del(averages)
    insorted_averages = sorted_averages.reverse()
    for z in insorted_averages[:3]:
        print(z)

我已将我的列表从最大值排序到最小值。现在我想打印 3 个价值平均值,但我得到了那个错误。我已经完成了将 3 更改为 -4 的操作,但它也没有用

标签: pythonpython-3.xlisttypeerror

解决方案


.reverse()就地反转您的列表并返回None

sorted_averages = list(range(3))
insorted_averages = sorted_averages.reverse()
print(insorted_averages)

insorted_averages现在是Nonesorted_averages虽然是反转...

在可变序列类型下的 python 文档中阅读 (4) 。


推荐阅读