zoukankan      html  css  js  c++  java
  • 匿名函数

    匿名函数

    • 关键字 lambda

        cale = lambda n, m : n * m	#定义一个匿名函数
        print(cale(10, 20))	#求10和20的积
      
    • 匿名使用

      • lambda结合函数使用

          #实例1
          #求字典中value值的最大值对应的key
          dic = {'k1':10, 'k2':30, 'k3':20}	
          print(max(dic))
          #结果
          k3
          print(max(dic, key=lambda k: dic[k]))
          #结果
          k2
          
          #实例2	
          #筛选列表中大于10的数
          res = filter(lambda x:x>10, [1, 3, 5, 10, 15, 20])
          for i in res:
          	print(i)
          #结果
          15
          20
        
    • 带key参数的函数min()``max()``filter()``map()``sorted()都能结合lambda

    面试题

    	#面试题1
    	#将(('a'), ('b'))和(('c'), ('d'))变成[{'a': 'c'}, {'b': 'd'}]
    	tu1 = (('a'), ('b'))
    	tu2 = (('c'), ('d'))
    	print(list(map(lambda x: {x[0]:x[1]}, zip(tu1, tu2))))
    	
    	#面试题2
    	#问以下输出的结果
    	def multipliters():
    		return [lambda x:x * i for i in range(4)]	#这里是列表生成式
    	print([m(2) for m in multioliters])
    	#结果
    	[6, 6, 6, 6]
    	#^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^#
    	#修改一下
    	def multipliters():
    		return (lambda x:x * i for i in range(4))	#这里是生成器表达式
    	print([m(2) for m in multioliters])
    	#结果
    	[0, 2, 4, 6]
  • 相关阅读:
    汇总jQuery的61种选择器及示例
    ACM2028
    Welcome to Erhan Blog
    学习日记-2019529
    3.1-栈
    chrome插件推荐
    Spark RDD
    爬虫-怎么爬静态网站
    一些iOS面试基础题总结
    [PHP] 报错和“@”
  • 原文地址:https://www.cnblogs.com/liliudong/p/9576862.html
Copyright © 2011-2022 走看看