3
我想通过类似目录的结构来应用函数。由于Python 3支持懒惰的生成器,我想过用这些来懒惰地评估结果列表。这是我的做法:Python:懒惰迭代通过类似目录的结构
iterate = lambda func, d: (func(f) for f in listDir(d) if not f.isDir) + sum((iterate(func, d + f.name) for f in listDir(d) if f.isDir.), [])
这导致unsupported operand type(s) for +: 'generator' and 'list'
。有懒惰的发电机来表达这种习惯用法吗?
listDir
接受一个路径并返回一个文件信息列表。