様々なstr要素が含まれるリストから、日本語(ひらがな、カタカナ、漢字)以外の物を削除するコードを書いたのですが、何度も実行しないと全て消えてくれません。どうやら数字、アルファベットは一括で消すことが出来ても、記号を一つ消すたびにbreak(?)してしまうように見えるのですが・・・どうしたらいいのでしょうか。

import re
bag_of_things = ["あいうえお", "546", "たぬき", "饅頭", "abdf", "#%&", "aodih", "    ", "hello", "こんにちは"]
nihongo = re.compile('[ぁ-んァ-ン一-龥]+')


def clean(list):
    for item in list:
        if not nihongo.findall(item):
            print(item, "is not japanese")
            list.remove(item)

[結果[1]

関数