1.abs()函数
求数字的绝对值
ret = abs(-21)
print(ret)
2.max()函数
max(iterable, key, default) 求迭代器的最大值,
其中iterable 为迭代器,max会for i in … 遍历一遍这个迭代器,
然后将迭代器的每一个返回值当做参数传给key=func 中的func(一般用lambda表达式定义) ,然后将func的执行结果传给key,然后以key为标准进行大小的判断。
1.简单使用max() 函数
ret = max(1, 2, 3)
print(ret) # 3
2.使用key 关键字
key =函数名称,指定求最大值的规则
ret = max(1, 2, -3, key=abs)
print(ret) # -3
2.根据name和price 返回最大的信息
lst = [
{'name': 'egon', 'price': 100},
{'name': 'rdw', 'price': 666},
{'name': 'zat', 'price': 1}
]
ret = max(lst)
print(ret) # 报错,字典和字典之间不能比较。
(1).根据name值进行比较,返回商品信息
def name_func(dic):
return dic['name']
ret = max(lst, key=name_func)
print(ret) # {'name': 'zat', 'price': 1}
(2).根据 price 值进行比较,返回商品信息
def price_func(dic):
return dic[‘price’]
ret = max(lst, key=price_func)
print(ret) # {‘name’: ‘rdw’, ‘price’: 666}
3.map() 函数
有两个参数,第一个参数是一个函数,第二个参数是可迭代的内容。
函数会依次作用在可迭代内容的每一个元素上进行计算,然后返回一个新的可迭代内容。
1.求 lst 中每一个元素的平方值
lst = [1, 2, 3]
def pingfang(x):
return x * x
ret = map(pingfang, lst)
for i in ret:
print(i) # 1 4 9
4.filter() 函数
filter() 函数用于过滤序列,过滤掉不符合条件的元素,返回由符合条件元素组成的新列表。
该接收两个参数,第一个为函数,第二个为序列,序列的每个元素作为参数传递给函数进判,
然后返回 True 或 False,最后将返回 True 的元素放到新列表中。
1.过滤出列表中的所有奇数:
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def odd_number(num):
if num % 2 == 1:
return True
ret = filter(odd_number, lst)
for i in ret:
print(i) # # 1 3 5 7 9
5.zip()函数
zip函数接受任意多个可迭代对象作为参数,将对象中对应的元素打包成一个tuple,
然后返回一个可迭代的zip对象.这个可迭代对象可以使用循环的方式列出其元素
若多个可迭代对象的长度不一致,则所返回的列表与长度最短的可迭代对象相同。
1.练习
a = [1, 2, 3]
b = [‘a’, ‘b’, ‘c’]
ret = zip(a, b)
for i in ret:
print(i) # (1, ‘a’) (2, ‘b’) (3, ‘c’)