标签:条件 count bsp 推导 构造 mes 分类 ble 元素
列表推导式
优点:
1,节省代码,一行搞定.
2看着高大上.
缺点:
不好排错.
凡是用列表推导式构造的列表对象,用其他方式都可构建.,非常复杂的列表,列表推导式是构建不出的.
分类:
[变量(加工后的变量) for 变量 in iterable] 循环模式
[变量(加工后的变量) for 变量 in iterable if 条件] 筛选模式
#用for循环写
#写1到14 li=[] for i in range(1,14): li.append(i) print(li) #用列表推导式写 l1=[i for i in range(1,14)] print (l1)
l1=["python%s期" % i for i in range(1,5)] print(l1) # 结果:[‘python1期‘, ‘python2期‘, ‘python3期‘, ‘python4期‘]
# 能被3整除的数 l1 = [i for i in range(1, 31) if i % 3 == 0] print(l1)
# 10以内所有数的平方 print([i*i for i in range(11)])
# 30以内所有能被3整除的数的平方 print([i**2 for i in range(31) if i % 3 == 0])
筛选模式
li=["python%s期" % i for i in range(1,14) if i%2==0] print(li)
# 写出元素里面有两个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) # 用for循环写 li=[] for i in names: for name in i: if name.count("e")==2: li.append(name) print (li)
标签:条件 count bsp 推导 构造 mes 分类 ble 元素
原文地址:https://www.cnblogs.com/hdy19951010/p/9204351.html