堆叠发电机

2024-04-25 19:09:43 发布

您现在位置:Python中文网/ 问答频道 /正文

为了标记一个文件,我有一个生成器,它将文件中空格分隔的部分吐出,而忽略换行符。你知道吗

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))

后者吐出分裂线而不是分裂线的一部分


Tags: 文件in标记fordeflineopenfilename
1条回答
网友
1楼 · 发布于 2024-04-25 19:09:43
(word for line in input_file for word in line.split())
网友
2楼 · 发布于 2024-04-25 19:09:43

使用以下语法:

p = (part for line in file for part in line.split())

生成器表达式中最外层的for循环是左循环。你知道吗

相关问题 更多 >