Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/341.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
需要了解Python生成器对象_Python_Generator_Generator Expression - Fatal编程技术网

需要了解Python生成器对象

需要了解Python生成器对象,python,generator,generator-expression,Python,Generator,Generator Expression,在以下方面: name = 'TODD' chars = set('AEIOU') for ii in range(-1, int(math.copysign(len(name) + 1, -1)), -1): if any((cc in chars) for cc in name[ii]): print 'Found' else: print 'Not Found' 我知道任何(…)的内部都是生成器对象。我不明白的是缺少括号-如果括号属于any

在以下方面:

name = 'TODD'
chars = set('AEIOU')
for ii in range(-1, int(math.copysign(len(name) + 1, -1)), -1):
    if any((cc in chars) for cc in name[ii]):
        print 'Found'
    else:
        print 'Not Found'
我知道任何(…)的内部都是生成器对象。我不明白的是缺少括号-如果括号属于any()函数,那么生成器表达式周围不应该有另一组括号吗


谢谢。

当在只有一个参数的函数调用中使用括号时,可以省略括号,特别是

只有一个参数的调用可以省略括号。有关详细信息,请参见第节


如果生成器表达式是括号中唯一的内容,则可以省略该表达式的括号

从:

只有一个参数的调用可以省略括号


不,不需要额外的参数,事实上,对于您正在测试的“布尔表达式”,也不总是需要额外的参数,请参见以下两个简单示例:

In [37]: any(i > 10 for i in range(19))
Out[37]: True

In [38]: all(i > 10 for i in range(19))
Out[38]: False

您拥有的是一个带有单个参数(生成器表达式)的函数调用,因此不需要参数。有关详细信息,请参阅。

对于仅具有一个参数(即生成器表达式)的函数调用,每个

只有一个参数的调用可以省略括号。有关详细信息,请参见“调用”部分


我认为你没有粘贴你想粘贴的链接。@interjay:接得好,c&p失败。还有人喜欢挪威音乐节音乐会的套餐吗-P更正了。没有真正回答这个问题。