列表生成表达式语法
列表生成式的语法:
#循环for... in...一次,执行一次expression表达式,
#for in 循环,满足condition条件判断,执行左侧expression
[expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...
for itemN in iterableN if conditionN
]
类似于
res=[]
for item1 in iterable1:
if condition1:
for item2 in iterable2:
if condition2
...
for itemN in iterableN:
if conditionN:
res.append(expression)
生成表达式:
(expression for item1 in iterable1 if condition1
for item2 in iterable2 if condition2
...
for itemN in iterableN if conditionN
)
优点:省内存,一次值产生一个值在内存中
应用:读取一个大文件的所有内容,并处理行
f=open('a.txt')
g=(line.strip() for line in f)
list(g) #因g可迭代,因而可以转成列表

浙公网安备 33010602011771号