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

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基础学习专栏


http://www.kler.cn/a/313850.html

相关文章:

  • 深入理解 D3.js 力导向图:原理、调参与应用
  • Web渗透测试之伪协议与SSRF服务器请求伪装结合? 能产生更多的效果
  • Qt Quick 和 Qt Designer
  • 【常见BUG】Spring Boot 和 Springfox(Swagger)版本兼容问题
  • Java设计模式——单例模式(特性、各种实现、懒汉式、饿汉式、内部类实现、枚举方式、双重校验+锁)
  • 修复5.0.0r 64位版本浏览器和一些库找不到的问题
  • 数据库课程设计mysql
  • python-SZ斐波那契数列/更相减损数
  • 【Python】Anaconda插件:Sublime Text中的Python开发利器
  • 【数据结构初阶】链式二叉树接口实现超详解
  • InnoDB锁机制全解析
  • VScode快速配置c++(菜鸟版)
  • 基于SpringBoot的招生宣传管理系统【附源码】
  • 计算机网络(Hub 集线器、交换机、路由器)
  • linux-安全管理-防火墙与网络安全
  • Golang | Leetcode Golang题解之第413题等差数列划分
  • 机器之心 | 阿里云Qwen2.5发布!再登开源大模型王座,Qwen-Max性能逼近GPT-4o
  • 使用ZooKeeper作为定时任务注册中心
  • Node.js Express中使用joi进行表单验证
  • C++——初步认识C++和namespace的用法
  • vim的 配置文件
  • 【LeetCode】每日一题 2024_9_18 坐上公交的最晚时间(排序,模拟)
  • YOLOv8 OBB win10+ visual 2022移植部署
  • 【北京迅为】《STM32MP157开发板使用手册》- 第二十九章Cortex-M4串口实验
  • ProtoBuf序列化框架介绍
  • 【学习笔记】数据结构(六 ②)