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声明的匿名函数能接收任何 ...
随机推荐
- Mysql不带条件更新报错
执行命令SET SQL_SAFE_UPDATES = 0;修改下数据库模式即可: 恢复安全模式:SET SQL_SAFE_UPDATES = 1;
- TensorFlow函数(五)参数初始化方法
1.初始化为常量 tf.constant_initializer(value, dtype) 生成一个初始值为常量value的tensor对象 value:指定的常量 dtype:数据类型 tf.ze ...
- ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters
转载请注明原文地址:https://www.cnblogs.com/cnodoo/p/9281366.html ValueError: All strings must be XML compati ...
- Android 配置文件 AndroidManifest 解析
1.屏幕分辨率 <supports-screens android:smallScreens="true" android:normalScreens="true& ...
- Linux命令总结(转)
1.ls [选项] [目录名 | 列出相关目录下的所有目录和文件 -a 列出包括.a开头的隐藏文件的所有文件 -A 通-a,但不列出"."和".." -l 列出 ...
- C#中参数传递
当调用带有参数的方法,需要向方法传递参数,有三种向方法传递参数的方式. 1.值参数:这种方式复制参数的实际值给形式参数,形参和实参使用的是内存中两个不相同的值,形参发生改变不会影响实参的值,从而保证了 ...
- vue项目在ie浏览器和360浏览器的兼容模式下不显示,出现promise未定义问题
出现“promise未定义”问题,因为对es6不兼容 在项目中安装 babel-polyfill 依赖包 ① npm install babel-polyfill --save-dev ② 在main ...
- HTML小记
1.页面内跳转 当<a>元素用于页面内的锚点跳转时,应该先为该页面设置一些锚点,而定义锚点有两种办法: 通过<a>元素的name属性来定义,如:<a name=" ...
- MySQL----navicat for mysql(破解版)可视化数据库操作
本博文介绍破解版navicat for mysql的安装方法及常用操作 navicat for mysql是一个专业的MySQL数据库图形化界面工具. 百度云下载地址:https://pan.baid ...
- Redis API的理解与使用
目录 一.通用命令 二.数据结构与内部编码 三.单线程架构 一.通用命令 Redis有五种数据结构,它们是键值对中的值,对于键来说有一些通用的命令.Redis的全局通用命令有:keys,dbsize, ...