Skip to main content
 首页 » 编程设计

python之包含 if 语句和 for 循环的单个语句

2025年05月04日22jpfss

我正在阅读 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 .