Python 常用函数的使用方法
map()函数
map()函数接受两个参数,一个是函数,一个是Iterable(可迭代),map将传入的函数依次作用到序列的每个元素,并把结果作为新的Iterator(迭代器)返回。
例:把一个list中的数字改成字符串
list(map(str, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
['1', '2', '3', '4', '5', '6', '7', '8', '9']
上述例子中把列表中的数字依次作为str函数的参数,并返回结果。因为迭代器是惰性序列,所以需要使用list()函数把它变成列表。
reduce()函数
reduce()函数会把一个函数作用在一个序列 [x1, x2, x3, …] 上,这个函数必须接收两个参数,reduce把结果继续和序列的下一个元素做累积计算。
def f(x):
return x * x
reduce(f, [x1, x2, x3, x4]) = f(f(f(x1, x2), x3), x4)
首先往f()函数里面传入两个参数x1和x2,之后让x1和x2的结果加上x3再次传入f()函数依次类推。
filter()函数
filter()函数和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素起到过滤序列的作用。
例:把一个序列中的奇数删除,只保留偶数
def is_odd(n):
return n % 2 == 1 #偶数的余数为0不等于1,返回False,然后被剔除。
list(filter(is_odd, [1, 2, 4, 5, 6, 9, 10, 15]))
结果: [1, 5, 9, 15]
匿名函数lambda()
先看一个例子:
>>> list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9]))
[1, 4, 9, 16, 25, 36, 49, 64, 81]
对比可以看出 lambda x: x * x 实际上就是:
def f(x):
return x * x
关键字lambda表示匿名函数,冒号前面的x表示函数参数。
split() 方法
split() 通过指定分隔符对字符串进行切片,如果第二个参数 num 有指定值,则分割为 num+1 个子字符串。
split() 方法语法:
str.split(str="", num=string.count(str))
参数
str – 指定分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
num – 分割次数。默认为 -1, 即分隔所有。
例1:
>>>str = "this is string example....wow!!!"
>>>print (str.split( )) # 以空格为分隔符
['this', 'is', 'string', 'example....wow!!!']
例2:
>>>txt = "Google#Runoob#Taobao#Facebook"
>>>x = txt.split("#", 1)# 第二个参数为 1,返回两个参数列表
>>>print(x)
['Google', 'Runoob#Taobao#Facebook']
strip()方法
strip() 方法用于移除字符串头尾指定的字符(默认为空格)或字符序列。
注意: 该方法只能删除开头或是结尾的字符,不能删除中间部分的字符。
strip()方法语法:
str.strip([chars]);
chars – 移除字符串头尾指定的字符序列。
例:
>>>str = "*****this is **string** example....wow!!!*****"
>>>print (str.strip( '*' )) # 指定字符串 *
this is **string** example....wow!!!