5.16 列表生成式

l=[]
for i in range(100):
    l.append('egg%s' %i)
print(l)
​
l=['egg%s' %i for i in range(100)]
l=['egg%s' %i for i in range(1000) if i > 10]
print(l)

5.17 列表生成式与生成器表达式的应用

names=['egon','alex_sb','wupeiqi','yuanhao','lxx']
res=map(lambda x:x.upper(),names)   # map函数 映射
names=list(res)                 #['EGON', 'ALEX_SB', 'WUPEIQI', 'YUANHAO', 'LXX']
print(names)
​
names=['egon','alex_sb','wupeiqi','yuanhao','lxx']
names=[name.upper() for name in names]      #列表生成式
print(names)
​
names=['egon','alex_sb','wupeiqi','yuanhao','lxx']  #列表生成式
names=[len(name) for name in names if not name.endswith('sb')]
print(names)
​
nums=[]                                 #一般循环方法
with open('a.txt','r',encoding='utf-8') as f:
    for line in f:
        nums.append(len(line))
print(max(nums))
with open('a.txt','r',encoding='utf-8') as f:#列表生成式
    nums=[len(line) for line in f]
    print(max(nums))    #28
with open('a.txt','r',encoding='utf-8') as f:
    nums=(len(line) for line in f)  #生成器表达式
    print(next(nums))   #15
    print(next(nums))   #17
    print(next(nums))   #13
    print(max(nums))    #28
    print(max(nums))    #空列表
​
    max(len(line) for line in f)    #去掉括号
View Code

相关文章: