python-列表解析-2022-13

157 阅读1分钟

​ 「这是我参与2022首次更文挑战的第13天,活动详情查看:2022首次更文挑战」  

        这里是清安,前面我们学习了列表,本章我们结合python(20)的处理文件和目录知识点来一起学习学习。

        列表解析提供了一种紧凑的方式,实现了通过对列表中每一个元素应用一个函数的方法来将一个列表映射到另一个列表。

list_ = [1, 3, 5, '7']
print([ele * 2 for ele in list_])

list_ = [ele * 2 for ele in list_]
print(list_)

        这两者,第一眼是不是看着写的不是同一个东西,但其实不然,他们俩就是一个,只是写法不一样而已。在第二个list中,Python 解释器逐个访问list_的元素,并临时将元素赋 值给变量 elem。 然后 Python 对元素应用函数 elem * 2 并且将结果添加到返回列表中。所以结果都是一致的。[2, 6, 10, '77']。

        也有些看不懂写法的。看看下面的拆解(只限帮助理解):

list_ = [1, 3, 5, '7']

m = []
for ele in list_:
    i = ele*2
    m.append(i)
print(m)

        结合运用os模块,你知道怎么用吗?

import os
import glob

i = glob.glob('*.py')
print(i)
print([os.path.realpath(f) for f in i])

['book.py', 'nnn.py', 'qing.py', 'qingan.py', 'un_login.py', 'web_fun.py', '__init__.py']
['F:\selenium_demo\shopX_demo\index\book.py', 'F:\selenium_demo\shopX_demo\index\nnn.py', 'F:\selenium_demo\shopX_demo\index\qing.py', 'F:\selenium_demo\shopX_demo\index\qingan.py', 'F:\selenium_demo\shopX_demo\index\un_login.py', 'F:\selenium_demo\shopX_demo\index\web_fun.py', 'F:\selenium_demo\shopX_demo\index\__init__.py']

        返回当前目录下所有的.py文件,如何用列表解析接收.py列表并将列表转化成全路径的列表。

        还能进行过滤哦。

import os
import glob

print([f for f in glob.glob('*.py') if os.stat(f).st_size
> 6000])

        对文件大小是否大于 6000 字节对列表进行过滤,这里是比较的复杂一点点的,用上了if判断。可以自行拆分看看,for循环加if判断。