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

Python中如何按Line number对文件字典进行升序排序?

简洁实现代码

可以利用Python的sorted()函数结合f-string格式化来简化代码,实现需求:

files = {'1.txt': [{'Line number': 1, 'file number': 1},
                   {'Line number': 2, 'file number': 1}],
         '2.txt': [{'Line number': 1, 'file number': 2}]
        }

# 按文件总行数升序排序文件条目
sorted_files = sorted(files.items(), key=lambda x: len(x[1]))

for filename, lines in sorted_files:
    print(filename)
    print(f'total lines {len(lines)}')
    # 若原始文件内的行已按Line number有序,可省略内层sorted
    for line in sorted(lines, key=lambda x: x['Line number']):
        print(f"Line number {line['Line number']} file number {line['file number']}")

代码说明:

  • 用sorted(files.items(), key=lambda x: len(x[1]))一步完成按文件总行数的升序排序,逻辑清晰直接。
  • 用f-string快速格式化输出内容,避免繁琐的字符串拼接,代码简洁易读。
  • 内层的sorted(lines, ...)用于兼容行数据无序的场景,若原始数据里每个文件的行已经按Line number排序,可直接去掉这一步进一步简化代码。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.13 14:15:38