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

目录

专栏导读

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

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

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

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

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

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

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

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

python 复制代码
# -*- 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是单个值(升序)

python 复制代码
# -*- 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:按值排序(升序)

python 复制代码
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)

python 复制代码
my_dict = {'a': 3, 'b': 1, 'c': 2}

# 直接在排序后迭代
for item in sorted(my_dict.items(), key=lambda item: item[1]):
    print(item)

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

python 复制代码
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基础学习专栏

相关推荐
秋氘渔14 分钟前
综合案例:Python 函数知识整合 — 学生成绩管理系统
开发语言·python
AI 嗯啦1 小时前
SQL详细语法教程(三)mysql的函数知识
android·开发语言·数据库·python·sql·mysql
databook2 小时前
把数学对象画出来:Manim Mobject类库速查手册
python·数学·动效
图灵学术计算机论文辅导2 小时前
傅里叶变换+attention机制,深耕深度学习领域
人工智能·python·深度学习·计算机网络·考研·机器学习·计算机视觉
ruleslol2 小时前
python30-正则表达式
python·正则表达式
vincent_hahaha3 小时前
关于simplifyweibo_4_moods数据集的分类问题
python
三年呀4 小时前
**标题:发散创新之力,探索隐私计算的未来**隐私计算,作为当下数字化时代的热门话题,正受
python
R-G-B4 小时前
OpenCV Python——报错AttributeError: module ‘cv2‘ has no attribute ‘bgsegm‘,解决办法
人工智能·python·opencv·opencv python·attributeerror·module ‘cv2‘·no attribute
DavieLau5 小时前
C#项目WCF接口暴露调用及SOAP接口请求测试(Python版)
xml·服务器·开发语言·python·c#
白露与泡影5 小时前
Spring容器初始化源码解析
java·python·spring