python3返回字典里出现最多的一个数

python3返回字典里出现最多的一个数问题如图片所示,用的python3,答案是1964,但途中代码返回的key是1970,求大神解答!... python3返回字典里出现最多的一个数问题如图片所示,用的python3,答案是1964,但途中代码返回的key是1970,求大神解答! 展开
 我来答
tufeididi007
2017-10-09 · TA获得超过2125个赞
知道大有可为答主
回答量:2698
采纳率:76%
帮助的人:1246万
展开全部

你写了那么多, 其实就是

# dict为内建函数, 不建议作为变量名
def f(d):
    return max(d.values())

这里返回的只是年份的最大值

a983200
2017-12-28
知道答主
回答量:8
采纳率:0%
帮助的人:8683
展开全部
#  -*- coding:utf-8 -*-  
Beatles_Discography = {"Please Please Me": 1963, "With the Beatles": 1963, 
    "A Hard Day's Night": 1964, "Beatles for Sale": 1964, "Twist and Shout": 1964,
    "Help": 1965, "Rubber Soul": 1965, "Revolver": 1966,
    "Sgt. Pepper's Lonely Hearts Club Band": 1967,
    "Magical Mystery Tour": 1967, "The Beatles": 1968,
    "Yellow Submarine": 1969 ,'Abbey Road': 1969,
    "Let It Be": 1970}



def most_prolific(dict):
c = [] #提取年份
d = {} # 计算年份出现次数
e = [] #次数排序
f = [] #年份
    for album_title in dict:
        c.append( dict [album_title])
        for a in c :
            d[a] = c.count(a)
    e = sorted(d.values(),reverse=True)


    for v,y in d.items():
        if y==e[0]:
           f.append(v)
    if  len(f) >=2:

         return "expected result is {}".format(f)
    else :
        return "expected result is {}".format(f[0])
      

print(most_prolific(Beatles_Discography))
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式