码迷,mamicode.com
首页 > 其他好文 > 详细

day14--列表推导式,生成器表达式

时间:2018-06-20 19:02:17      阅读:137      评论:0      收藏:0      [点我收藏+]

标签:count   col   表达   eva   缺点   name   and   alice   生成   

一,生成器表达式,列表推导式

列表推导式

循环模式:[变量(加工后的变量) for 变量 in iterable]

l2 = [i for i in range (1,14)]
l3 = ["python%s期" % i for i in range(1,14)]
print(l2)
print(l3)

小练习

# [‘技师0号‘,‘技师1号‘... ‘技师15号‘]
# [‘护士1号‘, ‘护士3号‘,‘护士5号‘, ...,‘护士13号‘]
l4 = ["技师%s号" % i for i in range(0,16)]
l5 = ["护士%s号" % i for i in range(1,14,2)]
print(l4)
print(l5)

优点: 节省代码

缺点: 不好排错

整体: 凡是用列表推导式构造的列表对象,用其他方式都可以构建,非常复杂的列表,列表的推导式是构建不出的

 

筛选模式: [变量(加工后的变量) for 变量 in iterable if条件]

# 10以内所有数的平方
l1 = [i*i for i in range(1,11) if i]
print(l1)
# 30以内所有能被3整除的数的平方
l2 = [i* for i in range(1,31) if i%3==0]
print(l2)
# 100 以内所有的奇数.
l3 = [i for i in range(1,101) if i%2==1]
print(l3)
#找出元素中有两个e的
names = [[Tom, Billy, Jefferson, Andrew, Wesley, Steven, Joe],
        [Alice, Jill, Ana, Wendy, Jennifer, Sherry, Eva]]
l2 = [name for i in names for name in i if name.count("e") == 2]
print(l2)

 

生成器表达式:  把列表推导式的中括号变为小括号

 

day14--列表推导式,生成器表达式

标签:count   col   表达   eva   缺点   name   and   alice   生成   

原文地址:https://www.cnblogs.com/lianghui-lianghui/p/9204369.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!