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

如何将对象列表推导生成的dict列表改为OrderedDict(Python2.7)

将对象列表转为OrderedDict列表(Python 2.7)

在Python 2.7里实现这个需求很直接,只需要借助标准库collections中的OrderedDict就能搞定,具体操作分两步:

  1. 导入OrderedDict类
    首先得从标准库中引入OrderedDict,它是专门用来维护插入顺序的字典类型:

    from collections import OrderedDict
    
  2. 修改列表推导式的字典构造逻辑
    原来的代码用普通字典{}生成元素,但Python 2.7的普通字典不保证插入顺序,而且直接用关键字参数初始化OrderedDict也没法确保键的顺序(因为Python 2.7中关键字参数的传递顺序是不确定的)。所以要改为传入有序的键值对序列(比如元组组成的列表)来初始化OrderedDict。

修改后的完整代码如下:

version_info = [
    OrderedDict([
        ("mnemonic", v.mnemonic),
        ("unit", v.unit),
        ("value", v.value),
        ("description", v.descr)
    ])
    for v in las.version
]

这样生成的version_info就是OrderedDict组成的列表:既会保持列表中元素的顺序(和las.version的迭代顺序完全一致),每个OrderedDict内部的键也会严格按照你定义的mnemonic→unit→value→description的顺序保存。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 06:17:28