Python这句话什么意思,语法有点怪?
怪我咯
怪我咯 2017-06-22 11:52:31
[Python讨论组]
filelist = [x for x in os.listdir() if os.path.isfile(x)]
怪我咯
怪我咯

走同样的路,发现不同的人生

全部回复(4)
女神的闺蜜爱上我

相当于:

filelist = []
for x in os.listdir():
    if os.path.isfile(x):
        filelist.append(x)
    

这是列表解析的内容.

扔个三星炸死你

列表生成式
相当于。os.listdir()需要一个参数,你要得到哪个路径下的list。


In [54]: filelist = []

In [55]: for x in os.listdir("."):
    ...:     if os.path.isfile(x):
    ...:         filelist.append(x)
    ...:

In [56]:

使用列表生成式比[].append() 快一点。你可以使用大批量的测试一下。为什么快呢。python listobject 模型的机制有关系,有时间可以读读python 源码,C语言写的

过去多啦不再A梦

定义:
列表推导式(又称列表解析式)提供了一种简明扼要的方法来创建列表。

规范:
variable = [out_exp for out_exp in input_list if out_exp == 2]

例子:
multiples = [i for i in range(30) if i % 3 is 0]
print(multiples)

Output: [0, 3, 6, 9, 12, 15, 18, 21, 24, 27]

场景:
循环中的逻辑比较简单时可用推导式代替,以增加代码可读性和洁癖

为情所困

列表推导式
列表生成式

顺序如下:

热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习
PHP中文网抖音号
发现有趣的

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号