"x for x in y" 是什么类型的可迭代对象?

What type of iterable is "x for x in y"?

我一直对 Python 中的列表理解感到困惑,尽管它 shorthand 执行 for 循环非常方便。我不确定下面 join() 函数的参数中的内容是否是列表理解,因为通常你会在周围放置 [] 以表明它是列表理解。

我的问题:下面 join()str(x) for x in res[::-1] 生成的可迭代对象的类型是什么?谢谢。

例如,

''.join( str(x) for x in res[::-1] )

这是一个 generator expression,它本身是一个可迭代对象。

但是,仍然可以添加方括号。参考