对象不可订阅

时间:2013-10-22 18:52:28

标签: python

我遇到一些python代码(简单的东西)有点麻烦。 它已经到了我希望如果我点击运行足够多次可能会有效......

以下是代码:

Data = [1, 2, 3, 4, 5]
Frequency = [1, 2, 3, 3, 1]

def mode(data1, frequency1):
    mode = [0]
    count = 0
    while count != len(frequency1):
        if frequency1[count] > mode[0]:
            mode = data1[count]
        elif frequency1[count] == mode:
           mode = [mode, data1[count]]
        count +=1
    return mode

mode = mode(Data, Frequency)
print(mode)

它返回:

 if Frequency[0] > mode[0]:

 TypeError: 'int' object is not subscriptable

我看了另一个问题&回答,但它超越了我。 我哪里错了!

编辑:我知道有些模块可以导入以找到平均值,但我想在不导入任何内容的情况下进行。

编辑:现在发布了整个代码。如果我不将模式变量设为列表,则可以使用两种模式。

1 个答案:

答案 0 :(得分:5)

查看您的int(mode[0])。你基本上是在说,得到零的第0个元素。也许你只想丢失下标?或者改变模式的类型?