Python:zip为什么给我一个“SyntaxError:cannotassigntofunction调用”

2024-04-26 00:08:28 发布

您现在位置:Python中文网/ 问答频道 /正文

在我的代码中,我将两个dict列表压缩在一起,一个是简单定义的(amud\u标题),另一个是带有方法的(amud\u范围)。你知道吗

当我尝试这样迭代时:

for zip(amud, amud_range) in zip(amud_titles,get_amud_index()):

我得到这个错误:

SyntaxError: can't assign to function call

但当我这样迭代时:

for amud_range in get_amud_index():

我没有任何错误。你知道吗

生成第二个列表的方法相当复杂,但我假设这不是问题所在,因为我只有在开始使用zip时才有问题。。。你知道吗


Tags: 方法代码in标题列表forgetindex
1条回答
网友
1楼 · 发布于 2024-04-26 00:08:28

你对for循环使用了不正确的语法。你知道吗

当你想循环某个东西时,语法是:

for x in y

其中x是分配给y的每个项的变量,其中y是迭代对象(列表等)。如果您有一个每次迭代都包含多个对象的列表(例如,zip()返回的列表),那么您可以为多个对象分配多个变量。你知道吗

lst = [("a", "b"), ("c", "d")]
for i in lst:
    print(i) # Prints ("a", "b") then ("c", "d")

for i, j in lst:
    print(i)
    print(j) # Prints "a" then "b" then "c" then "d"

所以在您的示例for zip(amud, amud_range) in zip(amud_titles,get_amud_index()):中,实际上不需要在这些变量名的前面zip()。Python需要的是变量名,而不是任何类型的结构。你知道吗

只要做for amud, amud_range in zip(amud_titles,get_amud_index()):

相关问题 更多 >