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‘]中的名字全部变大写
原文:https://www.cnblogs.com/cc-world/p/14008371.html