我正在比较两个列表,我收到了这个错误SyntaxError: can't assign to function call
Python
if all(value.lower() in mp3meta for value.lower() in search_key):
#do stuff
我正在比较两个列表,我收到了这个错误SyntaxError: can't assign to function call
Python
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 中的语法错误。