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

如何将带key的object转为list 按键查值并按row排序

以下演示基于Python实现,先将你给出的结构修正为可直接运行的标准字典列表格式(原始写法键缺少引号,无法直接运行):

data_list = [
    {"name": "test1", "id": "something", "row": 1},
    {"name": "test3", "id": "something", "row": 3},
    {"name": "test2", "id": "something", "row": 2},
    {"name": "test4", "id": "something", "row": 4}
]

1. 带key的object(字典)转list

根据转换目标不同,有三种常用写法:

  • 提取字典所有值组成列表:调用字典的values()方法,直接转list即可
    demo_obj = {"name": "test1", "id": "something", "row": 1}
    value_list = list(demo_obj.values())
    # 运行结果:['test1', 'something', 1]
    
  • 提取字典所有键值对组成元组列表:调用items()方法
    kv_list = list(demo_obj.items())
    # 运行结果:[('name', 'test1'), ('id', 'something'), ('row', 1)]
    
  • 提取列表中所有对象的指定key对应值,组成新列表:用列表推导式即可,比如提取所有name字段
    all_names = [item["name"] for item in data_list]
    # 运行结果:['test1', 'test3', 'test2', 'test4']
    

2. 根据key查找对应值

以「获取row值为3的项对应的name字段值」为例,两种常用实现:

  • 遍历匹配(兼容性最好,逻辑直观)
    target_name = None
    for item in data_list:
        if item["row"] == 3:
            target_name = item["name"]
            break
    # 最终target_name结果为'test3'
    
  • 生成器表达式简写(适合确定匹配项存在的场景)
    target_name = next(item["name"] for item in data_list if item["row"] == 3)
    
    注意:如果列表中没有符合条件的项,该简写方法会抛出StopIteration异常,不确定匹配结果时可给next加默认值:next((item["name"] for item in data_list if item["row"] == 3), None),找不到匹配时会返回None。

3. 按照row字段对list排序

直接用Python内置排序方法,通过key参数指定排序依据即可:

  • 生成排序后的新列表,不修改原数据(默认升序)
    sorted_list = sorted(data_list, key=lambda x: x["row"])
    
    排序后结果:
    [
        {"name": "test1", "id": "something", "row": 1},
        {"name": "test2", "id": "something", "row": 2},
        {"name": "test3", "id": "something", "row": 3},
        {"name": "test4", "id": "something", "row": 4}
    ]
    
  • 如需降序排列,添加reverse=True参数
    sorted_list_desc = sorted(data_list, key=lambda x: x["row"], reverse=True)
    
  • 直接在原列表上排序,不生成新列表,调用列表自带的sort()方法
    data_list.sort(key=lambda x: x["row"])
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 00:51:21