推导式:把迭代的代码更加简洁的表现出来,速度快
1,列表推导式:
Names = [‘Jerry’,’Tom’,’Jack’,’rose’,’alice’,’bob’]
For name in names:
If len(name)>3:
Print(name)
如果把【】换成()会得到一个generator object
例2:求(x,y)其中x是0-5之间的偶数,y是0-5之间的奇数组成的列表
[(x,y) for x in range(6) if x%2==0 for y in range(6) if y%2==1]
例3:
M = [[1,2,3],[4,5,6],[7,8,9]]求m中3,6,9组成的列表
[x[2] for x in m]
2,字典推导式:
Enumerate()函数 这个函数会返回两个值 一个是序列的下标(index) 一个是下标对应的值
str1 = [‘import’,’is’,’if’,’for’,’else’,’exception’]
{key:val for key,val in enumerate(str1)}
3,集合推导式:
和列表推导式唯一区别用{}代替【】
嵌套列表:
Names = [[‘jefferson’,’billy’,’wesley’,’steven’,’joe’],[‘alice’,’jill’,’wendy’,’sherry’,’eva’]] 取出名字中含有两个’e’字母以上的人的名字:
print([name for list in Names for name in list if name.count("e") >= 2 ])