我正在阅读pathlib
模块;并发现了这个:
[x for x in p.iterdir() if x.is_dir()]
其中p是Path
对象,上面的行列出了该目录下的所有子目录。
我想知道上述复杂陈述试图说的是什么, 如何将loop和if语句组合在一起 我怎样才能自己做出这样的陈述。
我也想知道为什么它包含在[]
。
帮助将不胜感激。
答案 0 :(得分:4)
写作:
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。
答案 1 :(得分:1)
这是一个python list comprehension。