VB.net 2010 视频教程 VB.net 2010 视频教程 python基础视频教程
SQL Server 2008 视频教程 c#入门经典教程 Visual Basic从门到精通视频教程
当前位置:
首页 > temp > 简明python教程 >
  • python基础(16):内置函数(二)

1. lamda匿名函数

为了解决⼀些简单的需求⽽设计的⼀句话函数

		
  1. # 计算n的n次⽅
  2. def func(n):
  3.   return n**n
  4. print(func(10))
  5. f = lambda n: n**n
  6. print(f(10))
lambda表⽰的是匿名函数,不需要⽤def来声明,⼀句话就可以声明出⼀个函数。
语法:
函数名 = lambda 参数: 返回值
注意:
1. 函数的参数可以有多个,多个参数之间⽤逗号隔开
2. 匿名函数不管多复杂,只能写⼀⾏,且逻辑结束后直接返回数据
3. 返回值和正常的函数⼀样,可以是任意数据类型
匿名函数并不是说⼀定没有名字,这⾥前⾯的变量就是⼀个函数名,说他是匿名原因是我们通过__name__查看的时候是没有名字的,统⼀都叫lambda,在调⽤的时候没有什么特别之处,像正常的函数调⽤即可。
回到顶部(go to top)

2. sorted()

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

	
  1. lst = [1,5,3,4,6]
  2. lst2 = sorted(lst)
  3. print(lst) # 原列表不会改变
  4. print(lst2) # 返回的新列表是经过排序的
  5. dic = {1:'A', 3:'C', 2:'B'}
  6. print(sorted(dic)) # 如果是字典. 则返回排序过后的key
和函数组合使⽤

	
  1. # 根据字符串⻓度进⾏排序
  2. lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
  3. # 计算字符串⻓度
  4. def func(s):
  5.   return len(s)
  6. print(sorted(lst, key=func))
和lambda组合使⽤

		
  1. # 根据字符串⻓度进⾏排序
  2. lst = ["麻花藤", "冈本次郎", "中央情报局", "狐仙"]
  3. # 计算字符串⻓度
  4. def func(s):
  5.   return len(s)
  6. print(sorted(lst, key=lambda s: len(s)))
  7. lst = [{"id":1, "name":'alex', "age":18}, {"id":2, "name":'wusir', "age":16}, {"id":3, "name":'taibai', "age":17}]
  8. # 按照年龄对学⽣信息进⾏排序
  9. print(sorted(lst, key=lambda e: e['age']))
回到顶部(go to top)

3. filter()

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

	
  1. lst = [1,2,3,4,5,6,7]
  2. ll = filter(lambda x: x%2==0, lst) # 筛选所有的偶数
  3. print(ll)
  4. print(list(ll))
  5. lst = [{"id":1, "name":'alex', "age":18}, {"id":2, "name":'wusir', "age":16}, {"id":3, "name":'taibai', "age":17}]
  6. fl = filter(lambda e: e['age'] > 16

相关教程