python常用函数
1.map()函数
map()是Python内置的高阶函数,它接收一个函数f和一个列表,并通过把函数f依次作用在列表的每个元素上,得到一个新的列表并返回。例如,对于列表[1,2,3,4,5,6,7,8,9],如果希望把列表的每个元素都平方,就可以用map()函数。因此,我们只需要传入函数f(x)=x*x,就可以利用map()函数完成这个计算:
def f(x):
return x*x
python新手函数print(map(f。[1.2.3.4.5.6.7.8.9]))
输出结果:
1.4.9.16.25.36.49.64.81]
需要注意的是,map()函数不改变原有的列表,而是返回一个新的列表。利用map()函数,可以把一个列表转换为另一个列表,只需要传入转换函数。由于列表包含的元素可以是任何类型,因此,map()不仅仅可以处理只包含数值的列表,事实上它可以处理包含任意类型的列表,只要传入的函数f可以处理这种数据类型。假设用户输入的英文名字不规范,没有按照首字母大写,后续字母小写的规则,请利用map()函数,把一个列表(包含若干不规范的英文名字)变成一个包含规范英文名字的列表:
输入:['adam'。'LISA'。'barT']
输出:['Adam'。'XXX'。'Bart']
可以使用format_name(s)函数接收一个字符串,并且要返回格式化后的字符串,利用map()函数,就可以输出新的列表。
参考代码:
def format_name(s):
return s[0].upper() + s[1:].lower()
print(map(format_name。['adam'。'LISA'。'barT']))
2.ce()函数
ce()函数也是Python内置的一个高阶函数。ce()函数接收的参数和map()类似,一个函数f,一个列表,但行为和map()不同,ce()传入的函数f必须接收两个参数,ce()对列表的每个元素反复调用函数f,并返回最终结果值。例如,编写一个f函数,接收x和y,返回x和y的和:
def f(x。y):
return x + y
需要注意的是,ce()函数在Python3中已经被移除,ce()函数。
import XXX
result = XXX(f。[1.2.3.4.5])
print(result)
输出结果:
15
以上就是map()ce()函数的用法。在实际应用中,我们可以利用这两个函数来处理各种数据类型,实现自己的算法。
Python内置函数filter()可以用于过滤列表中的元素,接收一个函数和一个列表作为参数,返回一个新的列表,新列表中的元素是原列表中满足函数条件的元素。例如,filter(is_not_empty。['test'。None。''。'str'。'。'。'END'])返回的结果是['test'。'str'。'END'],因为'None',''和'。'不是空字符串。其中is_not_empty是一个自定义函数,判断一个字符串是否为空字符串。具体实现如下:
def is_not_empty(s):
return s and s.strip()
另外,s.strip(rm)删除s字符串中开头、结尾处的rm序列的字符。当rm为空时,默认删除空
白符(包括'\n'。'\r'。'\t'。' ')。例如,a = '123',a.strip()返回的结果是'123';a='\t\t123\r\n',a.strip()同样返回的结果是'123'。
要过滤出1~100中平方根是整数的数,可以使用filter()和math.sqrt()函数。具体实现如下:
import math
def is_sqr(x):
r = int(math.sqrt(x))
return r*r == x
print(filter(is_sqr。range(1.101)))
结果是[1.4.9.16.25.36.49.64.81.100]。
Python内置函数sorted()可以对列表进行排序。例如,sorted([36.5.12.9.21])返回的结果是[5.9.12.21.36]。sorted()也是一个高阶函数,它可以接收一个比较函数来实现自定义排序。
比较函数接收两个待比较的元素x和y作为参数,如果x应该排在y的前面,返回-1;如果x应该排在y的后面,返回1;如果x和y相等,返回0.

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。