• lambda函数/排序/filter/map


    1.lambda 匿名函数
      zrf = lambda x:x**2
      ret = zrf(10) #这里面实际上还是有函数名
      print(ret)
    2.sorted 排序(list也自带排序功能)
      排序函数
      sorted(iterable,key=函数名,reverse=False)
      key:把里面的每一个值拿到函数处理之后返回一个 数字
      在根据数字排序 顺序或者倒序

    3.filter 筛选 过滤
      filter(function,iterable)
      function:用来筛选的函数
      函数返回的是true或者false
      def func(age):
        return age>18
    4.map 映射函数
      map(function,iterable)
      映射即为函数
      print(list(map(lambda x,y:x+y,lst1,lst2)))

     1 # 用map来处理字符串列表,把列表中所有人都变成sb,比方alex_sb
     2 # name=[‘oldboy’,'alex','wusir']
     3 name = ['oldboy', 'alex', 'wusir']
     4 
     5 
     6 def func(s):
     7     return s + "_sb"
     8 
     9 
    10 # 这里面映射之后  返回的是一个可迭代对象
    11 
    12 for a in map(lambda s: s + "_sb", name):
    13     print(a)
    View Code
     1 # 用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
     2 l = [{'name': 'alex'}, {'name': 'y'}]
     3 
     4 
     5 # 这里面字典的操作有点忘了
     6 def func(dic):
     7     dic['name'] += 'sb'
     8     return dic
     9 
    10 
    11 # 怎么写成匿名函数?
    12 print(list(map(lambda s: s['name'] + 'sb', l)))
    13 
    14 #
    15 #用filter来处理,得到股票价格大于20的股票名字
    16 shares = {
    17     'IBM': 36.6,
    18     'Lenovo': 23.2,
    19     'oldboy': 21.2,
    20     'ocean': 10.2,
    21 }
    22 
    23 #  这个怎么访问  ===>bug!!!!
    24 # def func(s):
    25 #     return s[1] > 20
    26 print(list(filter(lambda k: shares[k] > 20, shares)))
    View Code

    5.递归(难点)

      递归的深度1000 但是到不了1000
      一般人的电脑到997-998
      可以在sys里面的改掉限度
      递归非常消耗资源
      一般都不用递归
      but 写起来简单!!!
      os.listdir
      os.path.join
      os.path.isdir

     1 import os
     2 
     3 
     4 # os.listdir
     5 # os.path.join
     6 # os.path.isdir
     7 
     8 def func(path, deepth):
     9     temp = os.listdir(path)
    10     for file in temp:
    11         full_path = os.path.join(path, file)
    12         if os.path.isdir(full_path):
    13             print("  " * deepth, full_path)
    14             func(full_path, deepth + 1)
    15         else:
    16             print("  " * deepth, full_path)
    View Code

    6.二分法查找

  • 相关阅读:
    学习日记13、ajax同时提交from表单和多个参数
    学习日记12、list集合中根据某个字段进行去重复操作
    学习笔记11 EF查询相当于sql 中的 where in
    学习日记10、easyui编辑器combobox绑定数据的两种方式
    学习日记9、easyui控件两次请求服务器端问题
    学习日记8、根据身份证号获取生日和性别
    学习日记7、mvc +easyui datagrid excel上传
    学习日记6、easyui datagrid 新增一行,编辑行,结束编辑和删除行操作记录
    学习日记5、easyui datetimebox 和combobox设置默认值
    mac下设置redis开机自启
  • 原文地址:https://www.cnblogs.com/d9e84208/p/10589932.html
Copyright © 2020-2023  润新知