python内置函数,让你的代码更简洁

一.filter()筛选函数

语法:filter(funcition,Iterable)

lst = [1,2,3,4,5,6,7]
ll = filter(lambda y: y%2==0, lst)
print(list(ll))  #筛选所有偶数,不加list,打印内存地址

二.map()映射函数

可以对可迭代对象的每一个元素进行映射,分别取执行function

def func(n):
    return n*n
lst = map(func,[1,2,3,4,5])
print(lst)    #打印内存地址
print(list(lst))  # 打印列表中数字的平方

 

三.sorted()排序函数

语法:sorted(Iterable,key=None,reverse=False)

Iterable:可迭代对象

key:排序规则(排序函数),在sorted内部会将可迭代对象中的每一个元素传递给这个函数的参数,根据函数运算的结果进行排序

reverse:是否是倒叙. True:倒叙,False:正序

lst = [1,5,6,4,3]
new_lst = sorted(lst)
print(lst)  #原列表不会变
print(new_lst) #新列表是从小到大排序
lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
print(sorted(lst,key=lambda s:len(s))) #还可以和lamda一起用

 



dic = {1:"a",3:"b",2:"c"}
dic1 = sorted(dic)
print(dic1)   #如果是字典,返回排序后的key
lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
def func(s):
    return len(s)
print(sorted(lst,key = func))  #还可以和函数一起用,按字符串长度排序

 

四.lamda

表示的是匿名函数,不需要def来声明,一句话就可以声明出一个函数

语法:函数名=lamda 参数:返回值

注意:

1.函数的参数可以有多个,多个参数之间用逗号隔开

2.匿名函数不管多复杂.只能写一行,且逻辑结束后直接返回数据

3.返回值和正常的函数一样,可以是任意数据类型

匿名函数并不是说一定没有名字,这里的变量就是一个函数名,说他是匿名原因是我们通过__name__查看的时候是没有名字的,统一都叫lamda,在调用的时候没有什么特别之处.

def func(n)
    return n**n
print(func(10))




f = lamda n :n**n
print(f(10))
posted @ 2018-08-15 19:58  不喜欢酸甜的刘青阳  阅读(215)  评论(0编辑  收藏  举报