NameError: global name '_' is not defined
NameError: global name '_' is not defined
代码:
if (query_id, _) in hashtable[bucket]:
我原以为它可以工作 like in a for loop,但它却给出了这个错误:
NameError: global name '_' is not defined
hastable[bucket]
是一个对列表,如果重要的话 (我怀疑)。有什么想法吗?
x in y
不是魔法;它与y.__contains__(x)
基本相同。因此,in
不能用占位符搜索;左边的参数被完全评估。相反,使用
if any(query_id == qid for (qid, _) in hashtable[bucket]):
在 for 循环(就像您链接的那个)中,定义了名为 _
的变量。据我所知,你没有在任何地方定义它。您期望 _
代表什么?
_
在Python中只是一个普通的变量名,除了在交互式解释器中(它代表最后一个变量输出)。
在您使用它的概念中,它只存储最后一个输出变量。
我会选择:
if query_id in (x[0] for x in hashtable[bucket]):
代码:
if (query_id, _) in hashtable[bucket]:
我原以为它可以工作 like in a for loop,但它却给出了这个错误:
NameError: global name '_' is not defined
hastable[bucket]
是一个对列表,如果重要的话 (我怀疑)。有什么想法吗?
x in y
不是魔法;它与y.__contains__(x)
基本相同。因此,in
不能用占位符搜索;左边的参数被完全评估。相反,使用
if any(query_id == qid for (qid, _) in hashtable[bucket]):
在 for 循环(就像您链接的那个)中,定义了名为 _
的变量。据我所知,你没有在任何地方定义它。您期望 _
代表什么?
_
在Python中只是一个普通的变量名,除了在交互式解释器中(它代表最后一个变量输出)。
在您使用它的概念中,它只存储最后一个输出变量。 我会选择:
if query_id in (x[0] for x in hashtable[bucket]):