内置函数二: map sorted filter
-----------生活里没有奇迹,大部分的时候奇迹是你自己创造的。 # -------------------------------------------------------------------------#
# sum = lambda a,b:a+b
# svm = sum(10,510)
# print(svm) # st = ["魔兽世界","吃鸡","阴阳师","地下城与勇士","传奇","王者农药"] # s1 = lambda st:len(st) # def func(wert):
# return len(wert)
#
# s2 =sorted(st,key=func)
# print(s2) #
# nst =[{'id':1,'name':'alex','age':28},
# {'id':2,'name':'taibai','age':58},
# {'id':3,'name':'taihei','age':18},
# {'id':4,'name':'henhei','age':38}]
#
# #
# f4 = filter(lambda s:nst["age"]>=38,nst)
# print(f4) # def age_up(nst):
# return nst['age']
#
# s3 = sorted(nst,key=age_up)
# print(s3) #
# li = ["沙漏","左耳","盗墓笔记","云天","山楂树之恋","盘"]
#
# li2 = filter(lambda s:len(s)>3,li)
# for i in li2:
# print(i) # 给出一个列表
# lst = ["alex_123", "alex_456", "wusir_123", "wusir_456", "alex_789"]
# #
# usr = "alex" # 正确的用户名:
# psw = 123 # 密码:
#
# def fuc(nis):
# for i in lst:
# x = i.split("_")[0]
# y = i.split("_")[1]
# if x == usr and str(y) ==psw:
# print("OK")
# return "验证通过"
#
# map = map(fuc,)
#
#
# import os
#
# def fuc(path):
# lsi = os.listdir(path)
# for i in lsi:
# file_real_path = os.path.join(path,i)
# if os.path.isdir(file_real_path):
# print(i)
# fuc(file_real_path)
# else:
# print(i) # lstx = [4, 56, 178, 253, 625, 1475, 2580, 3574, 15963] # n = int(input("-->"))
# if n in lstx:
# print("ok")
# else:
# print("no")
#
# print(lstx)
#
# l = 0
# r = len(lstx) - 1
#
# n = int(input("-->"))
# while l <= r:
# if n > lstx[(l + r) // 2]:
# l = (l + r) // 2 + 1
# elif n < lstx[(l + r) // 2]:
# r = (l + r) // 2 - 1
# else:
# print('找到了')
# break
# else:
# print('没有找到') # sum = 0
# sum1 = 0
# for i in range(1, 100, 2):
#
# sum = sum + i
# sum1 = sum + (i + 2)
# print(sum - sum1) # -------------------------------[]-------------------------------------# # 1,整理今天所学内容,整理知识点,整理博客。
'''
1. 匿名函数
函数:
def 函数名(形参):
函数体(return) 函数名(实参) 形参:
1. 位置参数
2. 默认值参数
3. 动态传参
*args: 动态接收位置参数
**kwargs: 动态接收关键字参数 位置 > *args > 默认值 > **kwargs 实参:
1. 位置参数
2. 关键字参数
3. 混合参数 lambda 参数: 返回值 2. sorted
排序
sorted(Iterable, key, reverse)
3. filter
筛选
filter(function, Iterable)
4. map
映射
map(function, Iterable)
5. 递归
自己调用自己
6. 二分法(递归的应用)
开头
结尾
中间 '''
# ---------------------------------------------------------------------------------#
#
# 2,画好流程图。
# 新增面向对象9个函数
# 新增反射相关4个函数 # ---------------------------------------------------------------------------------# # ------------------[都完成的,做一下作业(下面题都是用内置函数或者和匿名函数结合做出):]---------------------# # 4,用map来处理字符串列表,把列表中所有人都追加"_sb",比方:alex_sb
# name=['oldboy','alex','wusir']
# # map把可迭代对象中的每一个元素拿出来交给前面的函数执行. 保留最后的执行结果
# m = map(lambda s: s+"_sb", name)
# for i in m:
# print(i) # ---------------------------------------------------------------------------------#
# 5,用map来处理下述l,然后用list得到一个新的列表,列表中每个人的名字都是sb结尾
# l=[{'name':'alex'},{'name':'y'}]
#
# m1 = map(lambda s: s['name']+"_sb", l)
#
# print(list(map(lambda s: s['name']+"_sb", l))) # ---------------------------------------------------------------------------------#
# 6,用filter来处理,得到股票价格大于20的股票名字
# shares = {
# 'IBM': 36.6,
# 'Lenovo': 23.2,
# 'oldboy': 21.2,
# 'ocean': 10.2,
# }
# #
# # 把后面的可迭代对象中的每一个元素交给前面的函数。 根据函数返回的True或者False。 判断是否保留该元素
#
# print(list(filter(lambda key: shares[key] > 20, shares))) # print(list(filter(lambda ren: ren['age']>=38, lst))) # ---------------------------------------------------------------------------------#
# 7,有下面字典,得到购买每只股票的总价格,并放在一个迭代器中。
# 结果:list一下[9110.0, 27161.0,......] shares * price # portfolio=[
# {'name':'IBM','shares':100,'price':91.1},
# {'name':'AAPL','shares':50,'price':543.22},
# {'name':'FB','shares':200,'price':21.09},
# {'name':'HPQ','shares':35,'price':31.75},
# {'name':'YHOO','shares':45,'price':16.8},
# {'name':'ACME','shares':75,'price':115.65}] # lis = []
#
# m = map(lambda s:s['shares'] * s['price'],portfolio)
# print(list(m)) # ----->[9110.0, 27161.0, 4218.0, 1111.25, 735.751, 8673.75] ## ---------------------------------------------------------------------------------#
# 8,还是上面的字典,用filter过滤出单价大于100的股票。
# print(list(filter(lambda v:v["price"]>100,portfolio))) ## ---------------------------------------------------------------------------------#
# 9,有下列三种数据类型, # l1 = [1,2,3,4,5,6]
# l2 = ['oldboy','alex','wusir','太白','日天']
# tu = ('**','***','****','*******') # # 写代码,最终得到的是(每个元祖第一个元素>2,第三个*至少是4个)
# #[(3, 'wusir', '****'), (4, '太白', '*******')]这样的数据。
# # # [曲解]
# lsit = [{l1:1,2,3,4,5,6},
# {l2:'oldboy','alex','wusir','太白','日天'},
# {tu:('**','***','****','*******')}]
# print(list(filter(lambda (x,y,z):(x:x>2,l1) and (y:l2[y+2],l2) and (z:tu[z+2],tu),lsit)))
# # [正解]
# m = filter(lambda x: x[0] > 2 and len(x[2]) > 3, zip(l1, l2, tu))
# print(list(m)) ## ---------------------------------------------------------------------------------#
# 10,有如下数据类型:
l1 = [ {'sales_volumn': 0},
{'sales_volumn': 108},
{'sales_volumn': 337},
{'sales_volumn': 475},
{'sales_volumn': 396},
{'sales_volumn': 172},
{'sales_volumn': 90},
{'sales_volumn': 58},
{'sales_volumn': 272},
{'sales_volumn': 456},
{'sales_volumn': 440},
{'sales_volumn': 239}]
# 将l1按照列表中的每个字典的values大小进行排序,形成一个新的列表。
# def fuc(s):
# return s["dic:dic["age"]"]
# x =sorted(l1,fuc)
print(sorted(l1,key=lambda dic:dic["sales_volumn"]))
内置函数二: map sorted filter的更多相关文章
- 函数,lambda函数,递归函数,内置函数(map,filter),装饰器
1. 集合 主要作用: 去重 关系测试, 交集\差集\并集\反向(对称)差集 2. 元组 只读列表,只有count, index 2 个方法 作用:如果一些数据不想被人修改, 可以存成元组,比如身份证 ...
- python---day14( 内置函数二)
内置函数二一:匿名函数 lambda函数 lambda 表示匿名函数,不需要用def 来申明. 语法: 函数名=lambda 参数:返回值 ----〉 案例:f=lambda n:n*n 例子01: ...
- python函数知识六 内置函数二、匿名函数与内置函数三(重要)
19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象",&q ...
- day 15 内置函数二 递归 lamda sorted filter map 二分法求值
回顾 for i in dict #对字典进行遍历,拿到的是字典的key 今日主要内容 1. lambda 匿名函数 语法: lambda 参数:返回值 不能完成复杂的操作.只能写一行 注意: 1 ...
- 10-9 重要的内置函数(zip、filter、map、sorted)
reverse----reversed l = [1,2,3,4,5,6] l.reverse() #不会保留原列表 print(l) l =[1,2,3,4,5,6] l2 = reversed(l ...
- python 内置函数(二) 进阶函数 递归内容及二分法查找 知识点
1,lambda: 匿名函数 2.sorgted() 排序函数 3,filter() 过滤函数 筛选 4,map() 映射函数 5.递归 6.二分法 一. 匿名函数: lambda lamb ...
- Python入门-内置函数二
看到标题你也能猜到今天要说大概内容是什么了,没错,昨天没有说完的部分再给大家说说(有一些重合的部分),内置函数的内容比较多,并且工作中经常用到的却不太多,很多都是不太常用的,所以我就着重说一些比较常用 ...
- day16:内置函数二
1,大作业,yield 返回之后可以对数据进行处理了就,注意函数的解耦,每一个小功能写成一个函数,增强可读性,写之前自己要先把整体功能分块,先做什么,在做什么 # 现在需要对这个员工信息文件进行增删改 ...
- Python内置函数二 (递归函数,匿名函数,二分法)
匿名函数 lambda() 语法: lambad 参数 : 返回值 def func(a,b): return a * b print(func(2,5)) a = lambda a ,b : a* ...
随机推荐
- 使用 pjsip 代码独立开发
1.在不改动pjsip代码的情况下,和pjsip工程目录并行建立win32控制台程序工程P2PTraversal 目录结构如下: . ├── pjproject-2.6 └── pjsipdemo 2 ...
- Scala视图界定
package big.data.analyse.dataSet /** * 视图界定 * Created by zhen on 2018/11/29. */ /*class Pair_NotPerf ...
- linux hadoop2.x快速安装
........ http://blog.csdn.net/se7en_q/article/details/47258007
- 看到一个想收藏的的AJAX小列子
用户登录的验证可以使用 form 表单提交,也可以使用 ajax 技术异步提交. AJAX 即 Asynchronous Javascript And XML(异步 JavaScript 和 XML) ...
- Python 面向对象的特性2-----继承
面向对象的三大特性 1.封装 根据职责将属性和方法封装到一个抽象的类中,然后类创建一个实实在在的对象,有了对象以后,就可以访问到对象内部的属性,或者让对象来调用一个已经封装好的方法. 2.继承 实现代 ...
- Vue学习之路4-v-bind指令
1. 定义 1.1 v-bind 指令被用来响应地更新 HTML 属性,其实它是支持一个单一 JavaScript 表达式 (v-for 除外). 2. 语法 2.1 完整语法:<span v- ...
- LeetCode算法题-Minimum Depth of Binary Tree(Java实现)
这是悦乐书的第168次更新,第170篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第27题(顺位题号是111).给定二叉树,找到它的最小深度.最小深度是沿从根节点到最近的 ...
- Linux常用命令-解压缩篇
前言 Linux常用命令中,有很多用于对文件的压缩或解压,本文将介绍这些解压缩命令中不常见却非常实用的用法. tar tar是linux中最常用的解压缩命令.tar命令可用于处理后缀名为tar,tar ...
- P2066 机器分配 DP
题目描述 总公司拥有高效设备M台,准备分给下属的N个分公司.各分公司若获得这些设备,可以为国家提供一定的盈利.问:如何分配这M台设备才能使国家得到的盈利最大?求出最大盈利值.其中M≤15,N≤10.分 ...
- git 冲突解决的方法
版权声明:本文为博主原创文章,未经博主同意不得转载. 新博客地址:www.atomicdevelop.com https://blog.csdn.net/believer123/article/det ...