2 つのリストを比較していますが、このエラーが発生していますSyntaxError: can't assign to function call
パイソン
if all(value.lower() in mp3meta for value.lower() in search_key):
#do stuff
2 つのリストを比較していますが、このエラーが発生していますSyntaxError: can't assign to function call
パイソン
if all(value.lower() in mp3meta for value.lower() in search_key):
#do stuff
SyntaxError: can't assign to function call
非常に明確なエラーメッセージです
for value.lower() in search_key):
value.lower() は変数ではなく関数呼び出しであるため、ループ内で値を割り当てることはできません。
これを試して :
if all(value in mp3meta for value in [value.lower() for value in search_key]) :
これは最善の方法ではありません。Python は通常、非常にきれいなコードにつながります。
代入式で文字列を小文字にしようとしています。その必要はありません。
代わりにこれを試してください:
if all(value.lower() in mp3meta for value in search_key):
これにより、 this は次と同等になります。
def test(searchkey, mp3meta):
for value in search_key:
if value.lower() in mp3meta:
return True
if test(searchkey, mp3meta):
ループでの試みは、代わりにこれを実行しようとしました:
for value.lower() in search_key:
これは Python の構文エラーです。