玖叶教程网

前端编程开发入门

python文件列表解析及扩展(python的lib文件夹)

python列表解析是应用迭代协议的环境之一。

1.1 python列表解析基础知识

用法

[x*2 for x in L]

描述

python列表解析写在方括号内,代表最终生成一个新列表。

方括号内:for循环变量表达式开头+for循环头部。

python列表解析可以用for循环达到相应效果,但是列表解析比for循环快,因为使用了迭代协议。

示例

>>> L=list(range(1,6))
>>> L
[1, 2, 3, 4, 5]
>>> L1=[x*2 for x in L]
>>> L1
[2, 4, 6, 8, 10]
>>> L2=[]
>>> for x in L:
    L2.append(x*2)

    
>>> L2
[2, 4, 6, 8, 10]

1.2 python文件列表解析

获取文件每行内容,并且去掉每行末尾的换行符。

可以通过python文件对象的readlines()方法,再用列表解析去掉换行符。

也可以不用readlines()方法,直接用文件迭代方式获取每行后去掉换行符。

示例

>>> path=r'E:\documents\F盘\iterator.py'
>>> f=open(path,encoding='utf-8')
>>> lines=f.readlines()
>>> f.close()
>>> lines
["S='梯阅线条'\n", 'print(S)\n', 'L=list(S)\n', 'print(L)']
>>> lis=[li.rstrip() for li in lines]
>>> lis
["S='梯阅线条'", 'print(S)', 'L=list(S)', 'print(L)']
>>> L3=[li.rstrip() for li in open(path,encoding='utf-8')]
>>> L3
["S='梯阅线条'", 'print(S)', 'L=list(S)', 'print(L)']
>>> [('S' in li,li[0]) for li in open(path,encoding='utf-8')]
[(True, 'S'), (True, 'p'), (True, 'L'), (False, 'p')]

1.3 python列表解析扩展

用法

[x*2 for x in L if x%2==0]

描述

python列表解析的for头部语句后面可以加速if判断条件,for变量表达式只会取符合if条件的变量值进行表达式运算。

示例

'''
iterator.py
S='梯阅线条'
print(S)
L=list(S)
print(L)
'''
>>> path=r'E:\documents\F盘\iterator.py'
>>> L5=[l.rstrip() for l in open(path,encoding='utf-8') if 'S' in l]
>>> L5
["S='梯阅线条'", 'print(S)', 'L=list(S)']

版权声明?

本文首发微信公众号:梯阅线条

原创不易,转载请注明出处。

更多内容参考python知识分享或软件测试开发目录。

发表评论:

控制面板
您好,欢迎到访网站!
  查看权限
网站分类
最新留言