You need to enable JavaScript to run this app. Python2兼容的dictTimeFC日期排序语句Python3适配修改咨询
优惠活动
大模型
产品
解决方案
定价
更多

Python2兼容的dictTimeFC日期排序语句Python3适配修改咨询

代码迁移Python3适配调整

原Python2代码迁移到Python3需要完成两处修正,即可正常运行且保持原排序逻辑:

  • 修正触发SyntaxError的lambda语法写法
    Python2 对lambda的语法校验较宽松,允许给参数整体包裹圆括号(即lambda(x):的形式),但Python3 严格校验语法规则,lambda的参数定义不允许套额外圆括号,这是抛出语法错误的直接原因,去掉括号改为lambda x:即可。
  • 修正map返回值的类型适配问题
    Python3中内置map()函数不再返回可直接比较的列表,而是返回惰性迭代器,两个迭代器对象之间无法直接做大小比较,哪怕修正了语法问题,运行时也会触发类型错误。需要将map的返回结果用tuple()包裹,让排序逻辑和Python2版本完全对齐。

调整后的可直接运行代码:

for key, val in sorted(dictTimeFC.items(), key=lambda x: tuple(map(int, x[0].split('-')))):

调整后代码的排序效果和原Python2版本完全一致:会将YYYY-mm格式的键拆分为年、月的整数值逐次比较,可正确识别2020-9和2020-10的先后顺序,不会出现纯字符串排序导致的月份排序错乱问题。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.11.10 13:45:06