有人可以解释下划线 _ 在此 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())) 生成的值,因此使用下划线是有意义的,因为它很明显循环不打算使用它。
我正在使用 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())) 生成的值,因此使用下划线是有意义的,因为它很明显循环不打算使用它。