有人可以解释下划线 _ 在此 python 迭代代码中的含义吗?

Can someone explain what underscore _ means here in this python iterative code?

我正在使用 itertool 库遍历名为 group 的列表。请解释以下语句的作用。

sum(1 for _ in group)

我对下划线及其工作原理感到困惑。

sum(1 for _ in group)

这里的_(下划线),约定俗成,表示这个值不重要,没有在任何地方使用,可以忽略.在这里,您更关心循环而不是循环变量。

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

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

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

输出:

0
1
2
3
4

但请避免这样做。

不需要的时候循环return我给你举个例子

循环

需要return

clients = ["M-Waseem Ansari","Emerson Pedroso","Some one"]

for client in clients:
    print(f'Clients name is {client}')

当你不需要时return

clients = ["M-Waseem Ansari","Emerson Pedroso","Some one"]

for _ in clients:
    print('new Client')

下划线None变量

当函数、生成器或元组的 returning 值要被丢弃时,使用下划线作为变量名是 Pythonic 约定。

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