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 に答える