目录
Python内置函数
abs() | 求绝对值 | |
max() | 求最大值 | 参数可以使可迭代内容,取出每一个内容进行比较 使用key关键字,指定比较规则 |
map() | 函数会依次作用在可迭代内容的每一个元素上进行计算, 然后返回一个新的可迭代内容 | 有两个参数 第一个参数是函数名 第二个参数是可迭代内容(列表..........) 把返回的内容保存在迭代器中,需要用for循环把每一个元素输出来 |
filter() | 过滤掉不符合条件的元素,返回由符合条件的元素组成的新列表中 | 有两个参数 第一个参数是函数名 第二个参数是可迭代内容·(l列表...........) 把返回的内容保存在迭代器中,需要用for循环把每一个元素输出来。或者是把返回内容的数据类型转换为list输出即可 |
1.abs()
ret = abs(-10)
print(ret)
2.max()
ret = max(1, 2, 3, 4, 5)
print(ret) # 5
lst = [-5, 2, 3, 4]
ret = max(lst, key=abs) # 使用key关键字指定比较规则
print(ret)
#
lst = [{'name': 'egon', 'price': 100},
{'name': 'rdw', 'price': 666},
{'name': 'zat', 'price': 1}
]
# ret = max(lst) # 字典和字典之间不能比较
# print(ret)
def max_name(dic):
return dic['name'] # 返回字典name对应的值
ret = max(lst, key=max_name)
print(ret)
3.map()
map()把返回的内容保存在迭代器中,需要用for循环把每一个元素输出来
# 练习:求lst中的每一个元素的平方值
lst = [1, 3, 4]
def square(num):
'''求平方值'''
return num * num
ret = map(square, lst)
# 把内容放在迭代器里面,需要用for循环遍历一下,把内容输出来
# print(ret) # <map object at 0x00000000027CEA20>
for i in ret:
print(i)
# 1
# 9
# 16
4.filter()
# 练习:过滤出列表中的所有奇数
lst = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]
def odd(num):
if num % 2 == 1:
return True
else:
False
ret = filter(odd, lst)
# print(ret)#<filter object at 0x000000000220EB38>
# for i in ret:
# print(i)
# 1
# 3
# 5
# 7
# 9
print(list(ret)) # [1, 3, 5, 7, 9]