有人能解释一下在这个python迭代代码中下划线的意思吗?
我正在使用itertool库浏览名为有人能解释一下在这个python迭代代码中下划线的意思吗?,python,itertools,Python,Itertools,我正在使用itertool库浏览名为组的列表。请解释一下下面的陈述将做什么 sum(1 for _ in group) 我对下划线及其工作原理感到困惑 总和(组中的1) 这里,(下划线),按惯例,表示该值不重要,并且没有在任何地方使用,因此可以忽略它。在这里,您更关心的是循环,而不是循环变量 因此,在您的情况下,由于您正在为组中的每个元素添加1,因此上述代码基本上将返回组中的元素数 请注意,如果您不打算使用循环变量,则使用\uuu作为循环变量是一种惯例。如果需要,您可以访问循环变量。。例如,考
组的列表
。请解释一下下面的陈述将做什么
sum(1 for _ in group)
我对下划线及其工作原理感到困惑
总和(组中的1)
这里,(下划线),按惯例,表示该值不重要,并且没有在任何地方使用,因此可以忽略它。在这里,您更关心的是循环,而不是循环变量
因此,在您的情况下,由于您正在为组中的每个元素添加1
,因此上述代码基本上将返回组中的元素数
请注意,如果您不打算使用循环变量,则使用\uuu
作为循环变量是一种惯例。如果需要,您可以访问循环变量。
。例如,考虑下面的代码片段。
for _ in range(5):
print(_)
输出:
0
1
2
3
4
但请避免这样做
总和(组中的1)
这里,(下划线),按惯例,表示该值不重要,并且没有在任何地方使用,因此可以忽略它。在这里,您更关心的是循环,而不是循环变量
因此,在您的情况下,由于您正在为组中的每个元素添加1
,因此上述代码基本上将返回组中的元素数
请注意,如果您不打算使用循环变量,则使用\uuu
作为循环变量是一种惯例。如果需要,您可以访问循环变量。
。例如,考虑下面的代码片段。
for _ in range(5):
print(_)
输出:
0
1
2
3
4
但是请避免这样做。当不需要退货时,我会给你举个例子
需要从循环返回
客户=[“M-Waseem Ansari”、“Emerson Pedroso”、“Some one”]
对于客户端中的客户端:
打印(f'客户端名称为{client}')
当你不需要回报的时候
clients=[“M-Waseem Ansari”、“Emerson Pedroso”、“Some one”]
对于uu in客户端:
打印(“新客户端”)
下划线为None变量
当函数、生成器或元组的返回值被丢弃时,使用下划线作为变量名是一种Python约定
在您的示例中,for循环中的代码没有使用range(0,int(input())生成的值,因此使用下划线是有意义的,因为它表明循环不打算使用它。当不需要返回时,我将给您一个示例
需要从循环返回
客户=[“M-Waseem Ansari”、“Emerson Pedroso”、“Some one”]
对于客户端中的客户端:
打印(f'客户端名称为{client}')
当你不需要回报的时候
clients=[“M-Waseem Ansari”、“Emerson Pedroso”、“Some one”]
对于uu in客户端:
打印(“新客户端”)
下划线为None变量
当函数、生成器或元组的返回值被丢弃时,使用下划线作为变量名是一种Python约定
在您的示例中,for循环中的代码没有使用range(0,int(input())生成的值,因此使用下划线是有意义的,因为它表明循环不打算使用它。它是一个变量名,与其他变量名一样。通常人们对任何与其他地方无关的“静默”变量使用。示例只是通过对每个元素的固定值进行求和,返回组中的元素数,1
,无论该元素是什么。从迭代器中看到这种“不在乎”选择的最常见的地方是当您想要有一个具有固定重复次数的循环时,因此您可以使用类似于for uuuu的代码范围(5):
这是一个与任何其他变量名类似的变量名。通常人们对任何与其他地方无关的“静默”变量使用。示例只是通过对每个元素的固定值进行求和,返回组中的元素数,1
,无论该元素是什么。从迭代器中看到这个“不在乎”选择的最常见的地方是当您想要有一个具有固定重复次数的循环时,因此您可以在范围(5)中使用类似于for的代码: