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

如何将任意层级嵌套的list(列表)统一转换为tuple(元组)

任意嵌套层级列表转元组的实现方法

直接使用递归转换方案即可,既适配你提供的数据结构,也支持更深层级的嵌套场景:

1. 完整代码示例

# 原始输入数据
raw_data = (
    ("Alfred", ["gaming", "shopping", "sport", "travel"]),
    (
        "Carmen",
        [
            "cooking",
            "pets",
            "photography",
            "shopping",
            "sport",
        ],
    ),
)

def deep_list_to_tuple(obj):
    if isinstance(obj, list):
        # 列表直接转元组,内部元素递归处理
        return tuple(deep_list_to_tuple(item) for item in obj)
    elif isinstance(obj, tuple):
        # 元组保留结构,内部元素递归处理
        return tuple(deep_list_to_tuple(item) for item in obj)
    # 其他基础类型(字符串、数值等)直接返回,不做修改
    return obj

# 执行转换
converted_data = deep_list_to_tuple(raw_data)
print(converted_data)

2. 输出结果

运行上述代码后得到的converted_data和你给出的预期输出完全一致:

(
    ("Alfred", ("gaming", "shopping", "sport", "travel")),
    (
        "Carmen",
        (
            "cooking",
            "pets",
            "photography",
            "shopping",
            "sport",
        ),
    ),
)

3. 方案说明

  • 递归逻辑会遍历所有嵌套层级的元素,无论列表嵌套多少层都能完整转换为元组
  • 自动跳过字符串、数字等基础类型的处理,不会出现字符串被拆分为单个字符元组的问题
  • 兼容元组、列表混合嵌套的任意结构

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:36:01