zoukankan      html  css  js  c++  java
  • python代码随笔

    此篇随笔只是作为自己偶然想起的遇到过的代码片段。。记录下!

    1、巧用lambda,reduce实现多层嵌套的装饰器:

    示例如下:

     1 #示例 函数chain([a,b,c,d) (input), 最终实现d(c(b(a)))(input),其中chain的参数是一个函数列表,且列表长度不确定【典型的装饰器多层嵌套应用】,一下示例中的f1,f2,f3只是简单示例  
     2 
     3 def f1(x):
     4     return x+2
     5 
     6 def f2(x):
     7     return x*2
     8 
     9 def f3(x):
    10     return x**2
    11 
    12 def chain(functions):
    13     return lambda x: reduce(lambda v,f:f(v), functions, x)

    如 chain([f1,f2,f3])(1),最终结果为36.

    2、根据需要提取元素为字典的list中指定元素。

    1 #示例l =[{'a':'app1','b':3},{'a':'app1','b':'1'},{'a':'app2','b':1}],可能某些特定业务需要提取出{'a':'app1','b':'1'},使用场景可扩展  
    2  tmp = [x for x in l if x['a']=='app1']  
    3  r = sorted(tmp, key=lambda x:x['app1'])[0]  

    Stay hungry,Stay foolish!!!

  • 相关阅读:
    前端工程师基础课程作业
    对于API接口设计的几点看法
    socket socket.io
    移动端布局
    angularJS
    bootstrop的应用
    jquery基础
    html5本地存储
    ajax
    数据库类型
  • 原文地址:https://www.cnblogs.com/kirago/p/4839056.html
Copyright © 2011-2022 走看看