我正在比较两个列表,我收到此错误SyntaxError: can't assign to function call
蟒
if all(value.lower() in mp3meta for value.lower() in search_key):
#do stuff
答案 0 :(得分:2)
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通常会导致相当干净的代码。
答案 1 :(得分:0)
您正尝试在赋值表达式中小写字符串。你不需要这样做。
请改为尝试:
if all(value.lower() in mp3meta for value in search_key):
这使得这相当于:
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中的语法错误。