我正在使用 map() 将函数 x 应用于元素列表。map() 返回一个产生结果的迭代器。但是,函数 X 已经产生了值,而不是返回。我只需要使用一次 yield 。
def x(line):
columns = line.strip().split('\t')
yield columns
values = [ 'a\tb\tc\td\n',
'g\tc\tq\tm\n',
's\tp\to\td\n'
]
iters = map(x, values)
for i in iters:
print(next(i))
它输出
['a', 'b', 'c', 'd']
['g', 'c', 'q', 'm']
['s', 'p', 'o', 'd']
代码运行,我没有任何错误。但是,我认为这是过度的,因为我两次“输出”输出。
我很想知道是否应该使用 return 关键字更改函数 x。
天涯尽头无女友
慕的地10843
相关分类