现有几位唐朝著名诗人及其诗作数量记录为以下字典《杜牧!:511,'白居易:2741,李白::982,'李商险:535,杜甫:1170}
现有几位唐朝著名诗人及其诗作数量记录为以下字典《杜牧!:511,'白居易:2741,李白::982,'李商险:535,杜甫:1170},按照诗作数量从大到小排序并显示。
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
4条回答 默认 最新
关注引自免费微信小程序:皆我百晓生
要解决这个问题,首先需要纠正字典格式中的错误,例如多余的感叹号和重复的逗号。接下来,使用Python的内置函数
sorted()对字典进行排序,可以基于字典的值(诗作数量)进行降序排列。以下是具体的实现步骤和代码:# 定义诗人及其诗作数量的字典 poets_works = {'杜牧': 511, '白居易': 2741, '李白': 982, '李商隐': 535, '杜甫': 1170} # 使用sorted()函数和lambda表达式按诗作数量降序排序 sorted_poets_works = sorted(poets_works.items(), key=lambda item: item[1], reverse=True) # 打印排序后的结果 for poet, works in sorted_poets_works: print(f'{poet}: {works}')这段代码首先定义了一个包含诗人和其诗作数量的字典
poets_works。然后,使用sorted()函数对字典项进行排序,其中key参数指定了排序依据是字典项的第二个元素(即诗作数量),reverse=True表示按降序排序。最后,通过循环遍历排序后的列表,打印出每位诗人及其诗作数量。运行上述代码,你将得到按诗作数量从多到少排序的诗人列表。
解决 无用评论 打赏 举报 编辑记录