• python中dict和lambda结合的小例子


    python的dict用起来很方便,可以自定义key值,并通过下标访问,示例如下:

    >>> d = {'key1':'value1',
    ... 'key2':'value2',
    ... 'key3':'value3'}
    >>> print d['key2']
    value2
    >>>

    lambda表达式也是很实用的东东,示例如下:

    >>> f = lambda x : x**2
    >>> print f(2)
    4
    >>>

    两者结合可以实现结构相似的函数调用,使用起来很方便,示例如下: 

    示例一:不带参数  

    #! /usr/bin/python
    
    msgCtrl = "1 : pause\n2 : stop\n3 : restart\nother to quit\n"
    
    ctrlMap = {
    '1':    lambda : doPause(),
    '2':    lambda : doStop(),
    '3':    lambda : doRestart()}
    
    def doPause():
            print 'do pause'
    
    def doStop():
            print 'do stop'
    
    def doRestart():
            print 'do restart'
    
    if __name__ == '__main__':
            while True:
                    print msgCtrl
                    cmdCtrl = raw_input('Input : ')
                    if not ctrlMap.has_key(cmdCtrl):break
                    ctrlMap[cmdCtrl]()
    

      示例二:带参数

    #! /usr/bin/python
    
    msgCtrl = "1 : +\n2 : -\n3 : *\nother to quit\n"
    
    ctrlMap = {
    '1':    lambda x,y : x+y,
    '2':    lambda x,y : x-y,
    '3':    lambda x,y : x*y}
    
    
    if __name__ == '__main__':
            while True:
                    print msgCtrl
                    cmdCtrl = raw_input('Input : ')
                    if not ctrlMap.has_key(cmdCtrl):break
                    print ctrlMap[cmdCtrl](10,2),"\n"
    

     

  • E-Mail : Mike_Zhang@live.com
  • 转载请注明出处,谢谢!
  • 相关阅读:
    Jmeter命令行运行实例讲解
    ab压力测试工具
    F12找到页面某一元素所绑定的点击事件
    F12修改html进行本地js操作页面元素
    JMeter中利用Parameters 和Body Data传递参数有什么不同
    centos7 VNC安装
    centos7安装python3
    linux du命令的疑惑
    centos cgroup配置
    linux下postgres未能正常启动的解决过程
  • 原文地址:https://www.cnblogs.com/MikeZhang/p/2254355.html
  • Copyright © 2020-2023  润新知