2

我在这里找到了解决我的问题的方法。
问题是,我的答案完全一样,除了(checkio(x)),我只是(x)

所以代替这个(工作解决方案):

def checkio(data):

    new_list = []
    for x in data:
        if type(x) == list:
            new_list.extend(checkio(x))
        else:
            new_list.append(x)
    return new_list

我有:

def checkio(data):

new_list = []
for x in data:
    if type(x) == list:
        new_list.extend(x)
    else:
        new_list.append(x)
return new_list

为什么那行不通?
为什么我需要引用函数本身?
究竟是checkio(x)什么?

4

1 回答 1

4

checkio如果您有一个传入的嵌套列表,则需要递归调用该函数data,以便嵌套列表也被展平。

例如:

data = ["a", "b", ["c", "d"], [["e", "f"], "g"]]
于 2013-08-25T14:12:25.303 回答