Python は、複数レベルのリスト内の重複する要素を削除し、複数レベルのリスト要素を展開します

ここで、再帰を使用して重複する要素を削除する関数を直接記述しましたが、コードについてはあまり説明しません。

a = ["abc",["abc",1,[123,"abc"]],123]

def shanchu(list1):
    #这个函数的功能是删除多层列表中的重复元素
    result = []
    for i in list1:
        if isinstance(i,list):
            shanchu(i)
        else:
            if i not in result:
                result.append(i)
    return result

print(shanchu(a))

次に、実行中の効果図を貼り付けます。
ここに画像の説明を挿入
多層リスト要素関数を展開して出力します。

a = ["abc",["abc",1,[123,"abc"]],123]

def zhankai(list1):
    if isinstance(list1,list):
        for i in list1:
            for element in zhankai(i):
                yield element
    else:
        yield list1
print(list(zhankai(a)))

結果を展開します。
ここに画像の説明を挿入

おすすめ

転載: blog.csdn.net/weixin_43635067/article/details/128915379