有人能解释一下在这个python迭代代码中下划线_的含义吗



我正在使用itertool库来遍历一个名为group的列表。请解释以下声明的作用。

sum(1 for _ in group)

我对下划线及其工作方式感到困惑。

sum(组中_为1(

这里,_(下划线(,按照惯例,表示该值不重要,不会在任何地方使用,因此可以忽略它。在这里,您更关心的是循环,而不是循环变量。

因此,在您的情况下,由于要为group中的每个元素添加1,因此上面的代码基本上会返回group中的元素数量。

请注意,如果您不打算使用_作为循环变量,则使用它是一种惯例。如果您愿意,可以访问循环变量_。例如,考虑以下代码片段。

for _ in range(5):
print(_)

输出:

0
1
2
3
4

但请避免这样做。

循环当不需要返回时,我将给您一个示例

需要从环路返回


clients = ["M-Waseem Ansari","Emerson Pedroso","Some one"]
for client in clients:
print(f'Clients name is {client}')

当您不需要返回时

clients = ["M-Waseem Ansari","Emerson Pedroso","Some one"]
for _ in clients:
print('new Client')

下划线None变量

当函数、生成器或元组的返回值被丢弃时,使用下划线作为变量名是Python的惯例。

在您的示例中,for循环中的代码不使用range(0,int(input((((生成的值,因此使用下划线是有意义的,因为它表明循环不打算使用它

相关内容

最新更新