如何修复“ int”对象不可下标

时间:2019-08-26 16:57:49

标签: python-3.x

我正在尝试编写一个函数Frequency。它需要输入一个列表并返回出现的最大次数和最小次数

def frequency(l):
    l.sort()
    cont=[]
    for i in l:
        cont.append(l.count(i))
    l=min(cont)
    h=max(cont)
    maxelements=[]
    minelements=[]
    for j in range(len(cont)):
        if cont[j]==l:
            minelements.append(l[j])
        elif cont[j]==h:
            maxelements.append(l[j])
    return(maxelements,minelements)

frequency([13,12,11,13,14,13,7,11,13,14,12])
([7], [13])

1 个答案:

答案 0 :(得分:0)

由于您正在尝试执行l[j],因此发生了错误。 lint,如您在此处l=min(cont)初始化的那样。您将其视为list,可以从中获取元素。

https://docs.python.org/3/library/functions.html#min上了解有关min()的更多信息

  

min(可迭代,* [,键,默认])

     

min(arg1,arg2,* args [,key])

     

返回可迭代的最小项或两个或多个参数中的最小项。

     

如果提供了一个位置参数,则它应该是可迭代的。返回iterable中的最小项。如果提供了两个或多个位置参数,则返回最小的位置参数。