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

如何将Python列表中的数值替换为指定元组的索引0元素

嵌套列表的索引替换实现

给定嵌套列表:

lst = [[0,1],2,[3]]

以及元组列表:

lst_2 = [("x1","y1"),("x2","y2"), ("x3","y3"), ("x4","y4")]

需要将lst中的数值作为索引,替换为lst_2对应位置元组的第0个元素,最终得到结果:[["x1","x2"], "x3", ["x4"]]。

解决方案

通过递归函数处理嵌套结构,遍历每个元素:

  • 若元素是列表,则递归处理该子列表
  • 若元素是数值,则从lst_2中取出对应索引的元组的第0个元素

实现代码如下:

def replace_indices(nested_list, tuple_list):
    result = []
    for item in nested_list:
        if isinstance(item, list):
            result.append(replace_indices(item, tuple_list))
        else:
            result.append(tuple_list[item][0])
    return result

# 测试执行
lst = [[0,1],2,[3]]
lst_2 = [("x1","y1"),("x2","y2"), ("x3","y3"), ("x4","y4")]
new_lst = replace_indices(lst, lst_2)
print(new_lst)  # 输出: [["x1","x2"], "x3", ["x4"]]

说明

递归方式可灵活处理任意深度的嵌套列表,若你的嵌套结构中包含其他可迭代类型(如元组),可在类型判断中加入对应条件扩展处理逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.01 11:55:26