为了标记文件,我有一个生成器,它会吐出文件的空格分隔部分,忽略换行符。
def parts(filename):
file = open(filename, 'r')
for line in file:
for part in line.split():
yield part
现在,我想把它写成生成器理解 - 没有用的是:
p = (part for part in line.split() for line in file)
或
p = (part for part in (line.split() for line in file))
后者吐出的是分割线而不是分割线的部分
请您参考如下方法:
使用这个语法:
p = (part for line in file for part in line.split())
生成器表达式中最外层的 for 循环是左边的。
