【问题标题】:How can all elements of sublists be changed to a type? [duplicate]如何将子列表的所有元素更改为类型? [复制]
【发布时间】:2016-07-12 15:09:09
【问题描述】:

假设我有一个列表列表。子列表本身可以包含子列表。将所有子列表的所有元素转换为特定类型的有效方法是什么?

假设它是这样的混乱:

a = [
    1,
    2,
    3,
        [
        "a",
        "b"
        ],
        [
        10,
        20,
            [
            "hello",
            "world"
            ]
        ],
    4,
    5,
    "hi",
    "there"
]

我们的想法是将类似的东西转换成这样:

a = [
    "1",
    "2",
    "3",
        [
        "a",
        "b"
        ],
        [
        "10",
        "20",
            [
            "hello",
            "world"
            ]
        ],
    "4",
    "5",
    "hi",
    "there"
]

请注意,我正在寻找处理任意深度子列表的方法。我觉得可以为此使用生成器,但我不确定如何处理。

【问题讨论】:

  • 有几个问题讨论遍历任意嵌套列表。这里唯一的区别是您要在遇到的每个节点上调用一个函数。

标签: python list types generator sublist


【解决方案1】:

最简单的方法是递归执行(您的列表不太可能如此嵌套导致问题):

def to_string(L):
    return [ str(item) if not isinstance(item, list) else to_string(item) for item in L ]

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-08-30
    • 1970-01-01
    • 2022-10-14
    • 1970-01-01
    • 2021-12-24
    • 2018-05-13
    • 1970-01-01
    • 2012-01-25
    相关资源
    最近更新 更多