Python一些实用代码


1、if python

a = 1
b = 2
c = a if a > b else b

2、with

with open('/path/to/file', 'r') as f: 
   print f.read()

3、map
大多数的for循环可以用map来代替,用法是:map(func,seq),对seq中的每个元素进行操作,具体什么操作在func里定义

array = [1, 2, 3]
square_array = map(lambda i: i ** 2, array)

map的第一个参数是lambda表达式,冒号前面的i作为形参,来自于array中的元素,冒号后面就是要返回的值。当然你也可以使用列表推导式来代替:

array = [1, 2, 3]
square_array = [i ** 2 for i in array]

4、filter
用法与map类似:filter(func,seq),对seq中的元素进行过滤,返回符合条件的那些元素。比如返回array = [1, 2, 3, 4]
中的所有奇数:

print filter(lambda i: i % 2, array)

这里是对2取余,返回结果为True的元素。那么什么情况下结果True?Python里面不为0,None或者null都是True。所以结果就是,偶数是False,奇数是True,返回所有奇数。列表推导式方案:

print [i for i in array if i % 2 != 0]

5、reduce
用法:reduce(func,seq),对seq中的每个元素进行func操作,最后汇总返回一个值。
1.求array = [1, 2, 3]所有元素的和:

print reduce(lambda x, y: x + y, array)

reduce会先将array里面的头两个数分别作为x和y,求它们的和,然后把它的结果和第三个相加,再把结果和第四个相加,直到最后一个元素。
2.求array = [1, 2, 3] 中的最大值:

print reduce(lambda x, y: x if x > y else y, array)

你可能感兴趣的:(Python一些实用代码)