我正在阅读 pathlib 模块;并发现了这个:
[x for x in p.iterdir() if x.is_dir()]
其中 p 是 Path 对象,上面一行列出了该目录下的所有子目录。
我想知道上面那个复杂的陈述想表达什么, for 循环和 if 语句如何组合在一起 以及我怎样才能自己做出这样的陈述。
我也想知道为什么它包含在 [] 中。
帮助将不胜感激。
请您参考如下方法:
写作:
lst = [x for x in p.iterdir() if x.is_dir()]
具有相同的效果:
lst = []
for x in p.iterdir():
if x.is_dir():
lst.append(x)
它被称为 list comprehension .
