Python 3.x 编写一个Python函数直方图(l),该函数以重复的整数列表作为输入,并返回成对的列表

Python 3.x 编写一个Python函数直方图(l),该函数以重复的整数列表作为输入,并返回成对的列表,python-3.x,Python 3.x,编写一个Python函数直方图(l),以重复整数列表作为输入,并返回成对列表,如下所示: 对于l中出现的每个数字n,函数返回的列表中应该正好有一对(n,r),其中r是l中n的重复次数 最后的列表应该按r(重复次数)升序排序。对于重复次数相同的数字,请按数字值的升序排列对 例如: 直方图([13,12,11,13,14,13,7,7,13,14,12]) [(11,1)、(7,2)、(12,2)、(14,2)、(13,4)] 直方图([7,12,11,13,7,11,13,14,12]) [(14

编写一个Python函数直方图(l),以重复整数列表作为输入,并返回成对列表,如下所示: 对于l中出现的每个数字n,函数返回的列表中应该正好有一对(n,r),其中r是l中n的重复次数

最后的列表应该按r(重复次数)升序排序。对于重复次数相同的数字,请按数字值的升序排列对

例如:

直方图([13,12,11,13,14,13,7,7,13,14,12]) [(11,1)、(7,2)、(12,2)、(14,2)、(13,4)]

直方图([7,12,11,13,7,11,13,14,12]) [(14,1)、(7,2)、(11,2)、(12,2)、(13,2)]


如果您对我的代码有任何疑问,请随时提问。 如果我的代码需要改进,请告诉我

def histogram(l):
    count = 0
    x=[]
    k=[]
    for i in range(len(l)):
        index=i
        count=0
        for j in range(index,len(l)):
            if l[index] == l[j] and l[index] not in k :
                count =count + 1
        k = k + [l[index]] 
        if (count != 0): 
            x = x + [(l[index], count)]
    x.sort()
    x=sorted(x,key=lambda x:x[1])

return x


#print(histogram([13,12,11,13,14,13,7,7,13,14,12]))

这不是免费站点的代码。向我们展示您当前的代码是什么,到目前为止您提出了什么,以及您遇到了什么困难。我不知道如何用python编写它。这就是为什么我发布了一个问题,要么你不应该接受作业(看起来就是这样),要么你应该开始。欢迎来到Stack Overflow,并详细描述您解决此问题的困难。不起作用,请帮助我不可接受非常感谢您的帮助虽然这可能是这个问题的答案,但鼓励添加一些解释。所以也不是通过代码评审来讨论代码改进。请阅读更多信息
def histogram(l):
    count = 0
    x=[]
    k=[]
    for i in range(len(l)):
        index=i
        count=0
        for j in range(index,len(l)):
            if l[index] == l[j] and l[index] not in k :
                count =count + 1
        k = k + [l[index]] 
        if (count != 0): 
            x = x + [(l[index], count)]
    x.sort()
    x=sorted(x,key=lambda x:x[1])

return x


#print(histogram([13,12,11,13,14,13,7,7,13,14,12]))
>>> def histogram(L):
...     from collections import Counter
...     return Counter(L).items()
... 
>>> histogram([13,12,11,13,14,13,7,7,13,14,12])
[(11, 1), (12, 2), (13, 4), (14, 2), (7, 2)]
>>> histogram([7,12,11,13,7,11,13,14,12])
[(11, 2), (12, 2), (13, 2), (14, 1), (7, 2)]