day14 内置函数二

时间:2021-05-21 21:52:54

lamda 

语法:
  函数名 = lambda 参数: 返回值
注意:
  1. 函数的参数可以有多个. 多个参数之间⽤逗号隔开
  2. 匿名函数不管多复. 只能写⼀⾏, 且逻辑结束后直接返回数据
  3. 返回值和正常的函数⼀样, 可以是任意数据类型

例子:

f = lamda x : x** 2  # 求x的平方

print(f(10))  # 结果是100


sorted 排序函数

语法: sorted(Iterable, key=None, reverse=False)
  Iterable: 可迭代对象
  key: 排序规则(排序函数), sorted内部会将可迭代对象中的每⼀个元素传递给这个函
    数的参数. 根据函数运算的结果进⾏排序
  reverse: 是否是倒叙. True: 降序, False: 升序(默认)

例1:

lst = [1,5,3,4,6]
lst2 = sorted(lst)
print(lst)  # 原列表不会改变
print(lst2)  # 返回的新列表是经过排序的   

 

例2:

lst = ["麻花藤", "冈本次郎", "*情报局", "狐仙"]
# 计算字符串⻓度
def func(s):
  return len(s)
print(sorted(lst, key=func))   #按字符串长度进行排序


 

filter

筛选函数
语法: filter(function. Iterable)
function: ⽤来筛选的函数. filter中会⾃动的把iterable中的元素传递给function. 然后
    根据function返回的True或者False来判断是否保留此项数据
Iterable: 可迭代对象

例:

lst = [1,2,3,4,5,6,7]
ll = filter(lambda x: x%2==0, lst) # 筛选所有的偶数
print(ll)
print(list(ll))


map()
映射函数
语法: map(function, iterable) 可以对可迭代对象中的每⼀个元素进⾏映射. 分别取执⾏
   function

例:

print(list(map(lambda x: x * x, [1, 2, 3, 4, 5])))