day9 匿名函数 lambda
1. list列表排序
#### sort排序
nums = [,,,,,] nums.sort()
print(nums) ### 结果
[, , , , , ]
######## 逆序
In []: nums.sort(reverse=True) In []: nums
Out[]: [, , , , , , ]
##### 翻转
In []: nums.reverse() In []: nums
Out[]: [, , , , , , ]
2.字典排序
infors = [{"name":"alex","age":},{"name":"jack","age":}]
infors.sort(key=lambda x:x["age"]) #按照age排序
print(infors)

把list的元素,单个元素字典,传入到x,即 x:x['name'] 就是 {“name”:“alex”,“age”:43} :alex
3.lambda应用:
1)版本1:求11+22
def test(a,b):
result = a+b
return result num = test(11,22)
print(num)
2)版本2:
def test(a,b,func):
result = func(a,b)
return result num = test(11,22,lambda x,y:x+y)
print(num)

3)版本3:动态语言
#-*- coding:utf-8 -*- python2执行
def test(a,b,func):
result = func(a,b)
return result func_new = input("请输入一个匿名函数:") #python2 input是函数
num = test(11,22,func_new)
print(num)

4)版本4:eval 去掉字符串的 “ ”
#### python3 执行 def test(a,b,func):
result = func(a,b)
return result #func_new = input("请输入一个匿名函数:") func_new = input("请输入一个匿名函数:")
func_new = eval(input(func_new)) #eval把字符串的“”去掉
num = test(11,22,func_new)
print(num)

3.面试题:交换两个变量的值
1)版本1:空瓶子t
a = 4
b = 5
t = 0
print("a=%s,b=%s"%(a,b))
t = a
a = b
b = t
print("a=%s,b=%s"%(a,b))

2)版本2:不用第三个变量
#### 第2种,不用第三个变量
a = a+b
b = a-b
a = a-b
print("a=%s,b=%s"%(a,b))
3)版本3:python独有
##### 第3种
a,b = b,a
print("a=%s,b=%s"%(a,b))

3.num += num 与 num = num +num 的区别
1)版本1:a = 100
### 不可变类型 数字 字符串 元组
a = 100
def test(num):
num += num
print(num) test(a) print(a)

2)版本2:a = [100]
#a = 100
a = [100] #list列表是可变类型
def test(num):
num += num # 直接在num变量的内存地址修改,然后还是指向 a
print(num) test(a) print(a)
‘’

3) 版本3: num = num + num
### python中 变量是引用的
#a = 99
a = [100]
def test(num):
#num += num
num = num + num #执行得到结果 [100,100] 然后让 num 再重新指向它
print(num) test(a) print(a)


day9 匿名函数 lambda的更多相关文章
- python--函数式编程 (高阶函数(map , reduce ,filter,sorted),匿名函数(lambda))
1.1函数式编程 面向过程编程:我们通过把大段代码拆成函数,通过一层一层的函数,可以把复杂的任务分解成简单的任务,这种一步一步的分解可以称之为面向过程的程序设计.函数就是面向过程的程序设计的基本单元. ...
- 内置函数filter()和匿名函数lambda解析
一.内置函数filter filter()函数是 Python 内置的一个高阶函数,filter()函数接收一个函数 f 和一个list,这个函数 f 的作用是对每个元素进行判断,返回由符合条件迭代器 ...
- python的匿名函数lambda解释及用法
lambda函数的语法只包含一个语句,如下: lambda arg1,arg2,.....argn:expression(主要是看下面的例子)代码示例: #-*- coding:utf-8 -* ...
- 匿名函数lambda,过滤函数filter,映射类型map
匿名函数lambda, 作用是不用定义函数,用完之后会自动被删掉,在使用执行脚本的时候,使用lambda就可以省下定义函数的过程,简化代码的可读性. 格式是 例子g=lambda x,y:x+y g( ...
- 6.1 函数的返回值、匿名函数lambda、filter函数、map函数、reduce函数
函数的返回值: 函数一旦执行到 return,函数就会结束,并会返回return 后面的值,如果不使用显式使用return返回,会默认返回None . return None可以简写为 r ...
- python的匿名函数 lambda的使用方法详解以及使用案例
1.匿名函数是用lambda这个关键字定义 lambda x:x+1 第一个x代表形参,x+1相当于函数的返回值 #lambda x:x+1 第一个x代表形参,x+1相当于函数的返回值 def ...
- Python学习笔记010——匿名函数lambda
1 语法 my_lambda = lambda arg1, arg2 : arg1 + arg2 + 1 arg1.arg2:参数 arg1 + arg2 + 1 :表达式 2 描述 匿名函数不需要r ...
- Python中的匿名函数lambda的用法
一.lambda函数的简介 对lambda函数,它其实是一个类似于def的函数,只不过lambda是一个不需要定义函数名的匿名函数.当我们在有些时候,需要做一些简单的数学计算时,如果定义一个def函 ...
- 『Python基础-14』匿名函数 `lambda`
匿名函数和关键字lambda 匿名函数就是没有名称的函数,也就是不再使用def语句定义的函数 在Python中,如果要声匿名函数,则需要使用lambda关键字 使用lambda声明的匿名函数能接收任何 ...
随机推荐
- jq实现简单的滑动解锁效果
<!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8&quo ...
- Webserver管理系列:12、开启关闭Ping命令
有些时候站点打开速度会非常慢,我们要排查故障所在.须要用到Ping命令.可是Windows Server 2008防火墙默认是关闭Ping的 我们能够通过下面方法开启Ping 打开防火墙->高级 ...
- P2564 [SCOI2009]生日礼物
题目背景 四川2009NOI省选 题目描述 小西有一条很长的彩带,彩带上挂着各式各样的彩珠.已知彩珠有N个,分为K种.简单的说,可以将彩带考虑为x轴,每一个彩珠有一个对应的坐标(即位置).某些坐标上可 ...
- POJ3347 Kadj Squares
嘟嘟嘟 题意:给出一堆正方形的边长,且这些正方形都是\(45 ^ {\circ}\)斜放着并且紧挨着的,求从上往下看能看到几个正方形. 真是一道好题--跟计算几何关系不大. 想一下,如果我们能求出正方 ...
- 2018.09.15模拟总结(T1,T3)
过了一周,终于迎来了第二次模拟(这不是期待的语气),看第一周毒瘤程度,我就觉得接下来的模拟只能更毒瘤. 花了10多分钟读完了三道题,觉得暴力还是挺好写的,然后在每一道题都思索那么几分钟后,觉得还是写暴 ...
- 【金融123】CNY和CNH的差异和关联
https://www.sohu.com/a/117406459_473263 离岸人民币(CNH)与在岸人民币(CNY) 差异: CNY CNH 法律监管限制 在岸人民币受大陆市场的管制,外汇和 ...
- No.4 - 3D 空间的卡片翻转动效
参考 ①张鑫旭http://www.zhangxinxu.com/wordpress/2012/09/css3-3d-transform-perspective-animate-transition/ ...
- Go并发与.Net TAP
Go package main import "fmt" func sum(arrays []int, ch chan int) { fmt.Println(arrays) sum ...
- ArcSDE 数据迁移 Exception from HRESULT: 0x80041538问题及解决方案
一.问题描述 1.采用gdb模板文件,在ArcSDE(数据服务器)中批量创建数据库表(数据迁移)时,用到接口ESRI.ArcGIS.Geodatabase.IGeoDBDataTransfer的方法T ...
- VC++ UDP网络控制台程序
采用的是VC2008,控制台应用程序,使用UDP编写. 1.服务端代码 //UDPServer.cpp #include <WinSock2.h> #include <stdio. ...