You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何按字典值的首个元素降序打印Python字典?

解决方案:按字典值的首个元素降序排序并格式化输出

没问题,这可以通过两步轻松实现:先对字典的项进行排序,再按指定格式输出。直接上代码和解释:

完整实现代码

mydict = {
    'Peter': [21, 2, 42.0],
    'Kate': [15, 3, 45.0],
    'Tom': [16, 6, 96.0],
    'Lucy': [28, 4, 112.0],
}

# 按值列表的第一个元素降序排序字典项
sorted_items = sorted(mydict.items(), key=lambda x: x[1][0], reverse=True)

# 按目标格式打印每一项
for name, details in sorted_items:
    print(f"'{name}',{details[0]},{details[1]},{details[2]}")

步骤解释

  1. 排序字典项
    字典本身是无序的(Python 3.7+虽保留插入顺序,但这里需要自定义排序逻辑),所以我们用sorted()函数处理mydict.items()——这个方法会把字典转换成包含(键, 值)元组的列表。

    • key=lambda x: x[1][0]:指定排序依据是每个元组中值列表的第一个元素(x[1]取到值列表,x[1][0]取列表的第一个元素)。
    • reverse=True:让排序结果为降序,满足从大到小排列的需求。
  2. 格式化输出
    遍历排序后的元组列表,用f-string把名字和值列表里的元素按目标格式拼接:

    • 名字用单引号包裹,依次拼接值列表里的三个元素,用逗号分隔。

通用化优化(可选)

如果你的值列表长度可能变化,不想硬写索引,可以用更灵活的方式拼接:

for name, details in sorted_items:
    print(f"'{name}',{','.join(map(str, details))}")

这个方法会自动把值列表里的所有元素转成字符串,再用逗号连接,适配任意长度的列表。

内容的提问来源于stack exchange,提问作者user9270170

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.28 03:48:14