首页 > 其他 > 详细

21列表推导式、生成器表达式

时间:2021-04-03 19:50:26      阅读:16      评论:0      收藏:0      [点我收藏+]

1、列表推导式

l_new = [i for i in range(50) if i%2==0]
print(l_new)

2、生成器表达式

把列表推导式的[]换成()
优点:省内存,一次只生成一个值在内存中
l_new = (i for i in range(50) if i%2==0)
for i in l_new:
    print(i)
# print(next(l_new))
# print(next(l_new))
# print(next(l_new))
# print(next(l_new))

例1、将names=[‘egon‘,‘alex_sb‘,‘wupeiqi‘,‘yuanhao‘]中的名字全部变大写 

# 方法一
names=[egon,alex_sb,wupeiqi,yuanhao]
names_new = [i.upper() for i in names]
print(names_new)

# 方法二
names=[egon,alex_sb,wupeiqi,yuanhao]
name2 = map(lambda x:x.upper(),names)  #map得到的结果仍然是个迭代器
print(list(name2))

例2、将names=[‘egon‘,‘alex_sb‘,‘wupeiqi‘,‘yuanhao‘]中以sb结尾的名字过滤掉,然后保存剩下的名字长度 

 

例3、求文件a.txt中最长的行的长度(长度按字符个数算,需要使用max函数)

 

 

 

例4、求文件a.txt中总共包含的字符个数?思考为何在第一次之后的n次sum求和得到的结果为0?(需要使用sum函数)

 

例5、将names=[‘egon‘,‘alex_sb‘,‘wupeiqi‘,‘yuanhao‘]中的名字全部变大写 

 

例6、将names=[‘egon‘,‘alex_sb‘,‘wupeiqi‘,‘yuanhao‘]中的名字全部变大写 

 

21列表推导式、生成器表达式

原文:https://www.cnblogs.com/cc-world/p/14008371.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!