我正在阅读 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 .
关于python - 包含 if 语句和 for 循环的单个语句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49966914/