当前位置: 首页 > news >正文

Python基础知识——字典排序(不断补充)

目录

  • 专栏导读
  • 代码1:value是多个字符拼接(含拼接符号)(升序)
  • 代码2:value是单个值(升序)
  • 代码3:按值排序(升序)
  • 代码4:按值排序(降序)
  • 总结

专栏导读

  • 🌸 欢迎来到Python办公自动化专栏—Python处理办公问题,解放您的双手

  • 🏳️‍🌈 博客主页:请点击——> 一晌小贪欢的博客主页求关注

  • 👍 该系列文章专栏:请点击——>Python办公自动化专栏求订阅

  • 🕷 此外还有爬虫专栏:请点击——>Python爬虫基础专栏求订阅

  • 📕 此外还有python基础专栏:请点击——>Python基础学习专栏求订阅

  • 文章作者技术和水平有限,如果文中出现错误,希望大家能指正🙏

  • ❤️ 欢迎各位佬关注! ❤️

代码1:value是多个字符拼接(含拼接符号)(升序)

# -*- coding: UTF-8 -*-
'''
@Project :
@File    :test.py
@IDE     :PyCharm 
@Author  :CSDN@一晌小贪欢(278865463@qq.com)
@Date    :2024/9/19 16:46 
'''import json# 假设的字典d,其中包含品牌和对应的列表  
d = {"BrandA": ["100=Apple", "50=Banana", "200=Cherry"],"BrandB": ["30=Date", "10=Elderberry", "20=Fig"]
}# 对每个品牌的值进行排序  
for key in d:# 使用列表推导式和split方法,然后基于第一个元素('='左边的数字)进行排序  # 使用float确保排序时按数字大小而非字符串顺序  d[key] = sorted(d[key], key=lambda x: float(x.split('=')[0]))
print(d)
# 将排序后的字典保存到JSON文件中  
# with open("./json数据/匹配数据.json", "w", encoding="utf-8") as f_w:
#     json.dump(d, f_w, ensure_ascii=False, indent=4)  # 使用indent使JSON文件更易读

代码2:value是单个值(升序)

# -*- coding: UTF-8 -*-
'''
@Project :
@File    :test.py
@IDE     :PyCharm 
@Author  :CSDN@一晌小贪欢(278865463@qq.com)
@Date    :2024/9/19 16:46 
'''import json# 假设 d 是已经定义好的字典,其值为列表  
d = {'key1': [3, 1, 2],'key2': ['banana', 'apple', 'orange'],'key3': [10, 5, 1]
}# 遍历字典 d,对每个列表值进行排序  
for key in d:if isinstance(d[key], list):  # 确保值是列表  d[key].sort()
print(d)# 将排序后的字典以 JSON 格式写入文件
# file_path = "./json数据/匹配数据.json"
# try:
#     with open(file_path, "w", encoding="utf-8") as f_w:
#         json.dump(d, f_w, ensure_ascii=False, indent=4)  # 使用 indent 增加可读性
#     print(f"数据已成功写入 {file_path}")
# except Exception as e:
#     print(f"写入文件时发生错误: {e}")

代码3:按值排序(升序)

my_dict = {'a': 3, 'b': 1, 'c': 2}
sorted_items = sorted(my_dict.items(), key=lambda item: item[1])# 打印排序后的项
for item in sorted_items:print(item)

my_dict = {'a': 3, 'b': 1, 'c': 2}# 直接在排序后迭代
for item in sorted(my_dict.items(), key=lambda item: item[1]):print(item)

代码4:按值排序(降序)

my_dict = {'a': 3, 'b': 1, 'c': 2}# 逆序排序
for item in sorted(my_dict.items(), key=lambda item: item[1], reverse=True):print(item)

总结

  • 希望对初学者有帮助

  • 致力于办公自动化的小小程序员一枚

  • 希望能得到大家的【一个免费关注】!感谢

  • 求个 🤞 关注 🤞

  • 此外还有办公自动化专栏,欢迎大家订阅:Python办公自动化专栏

  • 求个 ❤️ 喜欢 ❤️

  • 此外还有爬虫专栏,欢迎大家订阅:Python爬虫基础专栏

  • 求个 👍 收藏 👍

  • 此外还有Python基础专栏,欢迎大家订阅:Python基础学习专栏

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • Python实现日志采集功能
  • 【Python 数据分析学习】Matplotlib 的基础和应用
  • Unity3D 游戏数据本地化存储与管理详解
  • 11.1图像的腐蚀和膨胀
  • 【隐私计算】Cheetah安全多方计算协议-阿里安全双子座实验室
  • ls 命令:列出目录
  • 探索自闭症寄宿学校的专属教育模式
  • 相图数据对于纳米材料研究的积极作用
  • 【Redis入门到精通三】Redis核心数据类型(List,Set)详解
  • 解决selenium爬虫被浏览器检测问题
  • [第一章]java快速入门
  • 6.C_数据结构_查询_哈希表
  • 【深度学习 Transformer VIT】Transformer VIT:拆解“视觉变形金刚”,笑谈技术细节
  • 十种果冻的做法
  • 生信初学者教程(四):软件
  • 【347天】每日项目总结系列085(2018.01.18)
  • CSS实用技巧干货
  • Django 博客开发教程 8 - 博客文章详情页
  • ES学习笔记(12)--Symbol
  • interface和setter,getter
  • Redis在Web项目中的应用与实践
  • SpringCloud集成分布式事务LCN (一)
  • 从@property说起(二)当我们写下@property (nonatomic, weak) id obj时,我们究竟写了什么...
  • 更好理解的面向对象的Javascript 1 —— 动态类型和多态
  • 计算机在识别图像时“看到”了什么?
  • 一个JAVA程序员成长之路分享
  • 在weex里面使用chart图表
  • 自制字幕遮挡器
  • Nginx实现动静分离
  • 翻译 | The Principles of OOD 面向对象设计原则
  • 关于Kubernetes Dashboard漏洞CVE-2018-18264的修复公告
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #NOIP 2014# day.1 T2 联合权值
  • #pragma data_seg 共享数据区(转)
  • #数据结构 笔记三
  • #微信小程序:微信小程序常见的配置传值
  • $(function(){})与(function($){....})(jQuery)的区别
  • (51单片机)第五章-A/D和D/A工作原理-A/D
  • (day18) leetcode 204.计数质数
  • (poj1.3.2)1791(构造法模拟)
  • (Redis使用系列) Springboot 使用Redis+Session实现Session共享 ,简单的单点登录 五
  • (算法)大数的进制转换
  • (轉貼) UML中文FAQ (OO) (UML)
  • .bat批处理(九):替换带有等号=的字符串的子串
  • .NET Core日志内容详解,详解不同日志级别的区别和有关日志记录的实用工具和第三方库详解与示例
  • .NET MAUI Sqlite数据库操作(二)异步初始化方法
  • .net 后台导出excel ,word
  • .net 托管代码与非托管代码
  • .NET开源纪元:穿越封闭的迷雾,拥抱开放的星辰
  • /proc/interrupts 和 /proc/stat 查看中断的情况
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(白虎组)
  • [].slice.call()将类数组转化为真正的数组
  • [100天算法】-每个元音包含偶数次的最长子字符串(day 53)
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [AI Google] 使用 Gemini 取得更多成就:试用 1.5 Pro 和更多智能功能