【问题标题】:'TypeError: 'NoneType' object is not subscriptable' about lists'TypeError: 'NoneType' 对象不可下标' 关于列表
【发布时间】:2018-10-15 21:00:40
【问题描述】:

这个错误是什么意思?

这是我的代码:

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 的操作,但它也没有用

【问题讨论】:

  • 您好,您可以发布您的完整回溯吗?

标签: python python-3.x list typeerror


【解决方案1】:

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

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

insorted_averages 现在是 Nonesorted_averages 被颠倒了……

mutable sequence types下的python文档中阅读(4)。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-12-14
    • 2020-11-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-02-14
    • 2019-08-12
    相关资源
    最近更新 更多