需要了解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更正了。没有真正回答这个问题。