NG記号リストをもとに、文字列にNG記号が入ってないかチェックするコード
まずNGリストと判定したい文字列を用意する
ng_list = ["\\", "/", "?", "*", "[", "]"]
value = "hello world?"
手始めに内包表記でNGリストを1個ずつ取り出すループ
print([char for char in ng_list])
# ['\\', '/', '?', '*', '[', ']']
次に char in value として、取り出した記号が文字に含まれてるかを判定するループにする
print([char in value for char in ng_list])
# [False, False, True, False, False, False]
最後に判定結果のリストをany()に渡せば「1個でもTRUEがあったらアウト」というロジックとなる
if any(char in value for char in ng_list):
raise ValueError(f"NG記号が含まれています:{ng_list}")
# ValueError: NG記号が含まれています:['\\', '/', '?', '*', '[', ']']