我遇到了以下 Python 代码,但无法理解它:
''.join(random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits) for i in range(length))
for
循环告诉我这是一种理解,但是是什么类型的?这不是列表理解,因为[]
缺少(除非这里有特殊的语法)。我试图通过运行来解决它
random.choice(string.ascii_lowercase + string.ascii_uppercase + string.digits) for i in range(length)
直接在解释器中,但在for
.
我做了一些挖掘,得出了一个不太确定的结论,这就是所谓的生成器理解,但我没有找到任何看起来像这样的例子;他们都使用()
符号来创建生成器对象。
那么,它是否像join()
迭代器(以及生成器)一样工作,我们实际上在这里有一个生成器语法?()
如果是,我们可以在函数调用中创建生成器对象时省略周围吗?
梦里花落0921
ibeautiful
相关分类