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

Python 3如何按照指定顺序重排列嵌套列表中的元素

问题原因

现有代码的逻辑是先遍历字典的键,再匹配第一个参数x里的元素,值的插入顺序完全跟随字典的键存储顺序,而非x的指定顺序,因此会出现第二个子列表顺序颠倒的问题。

修正后的代码

def make_lists(x,y):
    b = []
    for dic in y:
        a = []
        # 直接按x的顺序遍历取key,保证输出顺序和x完全一致
        for key in x:
            a.append(dic[key])
        b.append(a)
    return b

print(make_lists(['Hint', 'Num'],
         [{'Hint': 'Length 2 Not Required', 'Num' : 8675309},
          {'Num': 1, 'Hint' : 'Use 1st param order'}]))

输出结果

[['Length 2 Not Required', 8675309], ['Use 1st param order', 1]]

和预期输出完全匹配。

可选优化

如果存在x中的键不一定出现在y的字典中的场景,可以把取值逻辑换成dic.get(key, None),避免抛出KeyError,可根据业务需求替换缺省值。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:24:01