内置函数
- abs()函数
求数字的绝对值
a = -1
b = 2
print(abs(a)) # 1
print(abs(b)) # 2
- max()函数
max(iterable,key)
求可迭代对象的最大值
(1)简单使用max()函数
a = [1,3,2,5,4]
ret = max(a)
print(ret) # 5
(2)使用key关键字
key = 函数名称 ---->指定求最大值的规则
a = [-1,-3,-2,-5,-4]
b = max(a,key=abs) # 返回a中绝对值最大的元素
print(b) # -5
(3)根据name和age返回最大的信息
lst = [
{'name':'张三','age':19},
{'name':'李四','age':29},
{'name':'王五','age':8}
]
ret = max(lst)
print(ret) # 报错,字典和字典之间不能进行比较
根据age进行比较
lst = [
{'name':'张三','age':19},
{'name':'李四','age':29},
{'name':'王五','age':8}
]
def getAge(x): # x 是字典类型
return x['age']
res = max(lst,key=getAge) # 返回的是a中的 元素
# res = max(lst,key=lambda x:x['age']) # 返回的是a中的 元素
print(res) # {'name': '李四', 'age': 29}
一般用lambda表达式定义,然后将匿名函数的执行结果传给key,以key为标准进行大小的判断
- map()函数
map(function,iterable)
有两个参数,第一个参数是一个函数,第二个参数是可迭代的内容
返回一个迭代器,该迭代器将函数应用于iterable的每一项,生成结果。
求lst中每一个元素的平方值
lst = [1,2,3]
def pingfang(x):
return x*x
ret = map(pingfang,lst) # 注意:这里的第一个参数是 函数名
print(ret) # 返回一个迭代器
# for i in ret:
# print(i)
print(list(ret)) # 将迭代器转换成列表类型
- filter()函数
filter(function,iterable)
用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的迭代器。
第一个参数是函数,第二个参数是可迭代的对象,iterable中的每一个元素作为参数传递给函数进行判断,放回True或False,最后将返回True的元素放到迭代器中。
过滤出列表中的所有奇数
lst = [1,2,3,4,5,6,7,8,9,10]
def odd_number(x):
if x%2 != 0:
return True
else:
return False
res = filter(odd_number,lst)
# res = filter(lambda x:True if x%2 != 0 else False,lst)
print(list(res))
- zip()函数
zip(*iterables) 返回元组的迭代器
可接受多个可迭代对象作为参数,将对象中的元素打包成一个tuple,然后返回一个迭代器,迭代器属于可迭代类型,可以遍历出其中的元素。
如果多个可迭代对象的长度不一致,则所返回的元组与长度最短的可迭代对象相同。
zip()函数的使用
a = [1,2,3]
b = ['a','b','c']
ret = zip(a,b) # 参数可以是多个可迭代的对象
print(ret) # 返回一个迭代器
for i in ret:
print(i)