map、filter、if语句、列表解析

for循环

>>> res=[]
>>> for x in 'spam':
	res.append(ord(x))#ord获得字符的ASCII码
>>> res
[115, 112, 97, 109]

map函数

>>> res=list(map(ord,'span'))
>>> res
[115, 112, 97, 110]
>>> list(map((lambda x:x**2),range(10)))
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
>>> res=[x+y for (x,y) in [(1,2),(3,4),(4,6)]]
>>> res
[3, 7, 10]

列表解析

>>> res=[ord(x)for x in 'span']
>>> res
[115, 112, 97, 110]
>>> [x for x in range(5) if x %2 ==0]
[0, 2, 4]
>>> res=[x+y for x in range(3 )for y in range(3)]
>>> res
[0, 1, 2, 1, 2, 3, 2, 3, 4]
>>> [(x,y)for x in range(5) if x%2==0 for y in range(5) if y%2==1]
[(0, 1), (0, 3), (2, 1), (2, 3), (4, 1), (4, 3)]
>>> res=[x+y for (x,y) in [(1,2),(3,4),(4,6)]]#支持元组解包
>>> res
[3, 7, 10]

filter函数

>>> list(filter((lambda x :x%2==0),range(5)))
[0, 2, 4]

你可能感兴趣的:(map、filter、if语句、列表解析)