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

不使用导入库对指定列表按1、2、3顺序排序的方法

不依赖外部库的列表排序方案

嘿,这个需求轻松就能搞定,用Python自带的sorted()函数就行,完全不需要导入任何外部库。下面是具体的实现方法:

直接可用的代码

# 你的原始列表
original_list = [{'2': [{'cid': 26363}]}, {'1': [{'cid': 26363}]}, {'3': [{'cid': 26363}]}]

# 按1、2、3的顺序排序
sorted_list = sorted(original_list, key=lambda item: int(next(iter(item.keys()))))

# 输出排序后的结果
print(sorted_list)

我给你拆解每一步的逻辑:

  • 提取字典的唯一键:每个列表元素都是只有单个键的字典,next(iter(item.keys()))可以快速拿到这个唯一的键——因为item.keys()返回可迭代对象,转成迭代器后用next()取第一个元素,就是我们要的那个键。
  • 转整数实现自然排序:把字符串类型的键(比如'1'、'2')转成整数,这样就能按照数字的自然顺序排序,避免字符串字典序的问题(比如如果直接用字符串排序,'10'会排在'2'前面,但我们要的是1、2、3的数字顺序)。
  • 用key参数指定排序依据:sorted()的key参数用来定义排序的参考值,这里我们把每个字典对应的整数键值作为依据,sorted()就会自动帮我们从小到大排序,正好符合你要的1、2、3的顺序。

运行后的结果

执行代码后,你会得到排序好的列表:

[{'1': [{'cid': 26363}]}, {'2': [{'cid': 26363}]}, {'3': [{'cid': 26363}]}]

如果之后你的列表里每个字典可能出现多个键(不过题目里明确是单个),那你可能需要额外处理,但当前场景下这个方法完全适用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 12:57:29