python - 首先按值对字典排序,然后在 python 3 中按键排序
问题描述
我按值对字典进行了排序,但是当值相等时,键应按字母顺序排序。我希望我的输出按它们的值降序排序,然后按它们的键(按字母顺序)升序(AZ)
解决方案
my_dictionary = dict({'ca': 'a', 'cb': 'c', 'n': 'b', 'd': 'z', 'f': 'a'})
l=my_dictionary.items() # get a list of (k, v)
l.sort(key=lambda x: x[0],reverse=False) # sort by key in ascending order
l.sort(key=lambda x: x[1],reverse=True) # sort by value in descending order
ordered_keys=[t[0] for t in l] # get an ordered list of the keys
此代码为您提供了一个排序的键列表,您可以使用这些键以您想要的顺序访问值
推荐阅读
- python - python用Beautifulsoup查找嵌入的mp4文件
- sql - 在特定日期范围内接收 ORA-01427
- powerbi - 在 Power BI 中的所有可视化中编辑交互
- c# - c#将韩文字符串保存到文件,而不是utf格式的字符串
- java - 使用 sum/count 获取每组中的最后一条记录
- kubernetes - 记录 Kubernetes LoadBalancer IP 交互的最佳实践
- vba - 将具有给定文本的页面复制到新文档
- json - Neoload - 发布 json 内容类型
- php - 在动态添加的输入中添加日期选择器
- amazon-s3 - 从 S3 读取带有特殊字符的文件时出错