day14--列表推导式,生成器表达式
Posted lianghui-lianghui
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了day14--列表推导式,生成器表达式相关的知识,希望对你有一定的参考价值。
一,生成器表达式,列表推导式
列表推导式
循环模式:[变量(加工后的变量) 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--列表推导式,生成器表达式的主要内容,如果未能解决你的问题,请参考以下文章