(八)lambda、列表生成式、字典转list排序
1、函数返回多个值:
1)函数如果return多个值的话,会把返回的这几个值放在一个元组里面
def say():
num1 = 1
num2 = 2
num3 = 3
return num1,num2,num3
res = say()
print(res) >>> (1, 2, 3)
2)函数如果return多个值的话,可以用多个变量来分别接收
def say():
num1 = 1
num2 = 2
num3 = 3
return num1,num2,num3
res1,res2,res3 = say()
print(res1) #>>>1
print(res2) #>>>2
print(res3) #>>>3
2、lambda:匿名函数,函数功能很简单,只用一次,不需要定义
res = lambda x:x+1 #冒号前面的是返回值,冒号后面是函数体,也是函数的处理逻辑
print(res(1)) >>> 2
3、列表生成式(列表)
l = [i for i in range(1,101,2)] l = [i for i in range(1,101) if i%2==1] #或者这样写
print(l) >>>[1, 3, 5, 7, 9...]
如果列表生成式外面是()的形式:l就不是list了,而是一个生成器
l = (i for i in range(1,101) if i%2==1)
print(l) #l是一个生成器 #print(l.__next__()) #生成器调用一次取一个值 for i in l:
print(i) >>> <generator object <genexpr> at 0x00BFD8C8>
>>>1 3 5 7 9...
#生成器每次循环时会按照规则只计算出一个元素,放在内存中,比list省内存
#list是把所有的元素都放在内存里面
4、三元表达式
a = 5
b = 4
c = a if a>b else b #三元表达式
print(c) 不用三元表达式就是如下: a = 5
b = 4
if a>b:
c = a
else:
c = b
print(c)
5、字典是无序的,直接对字典排序是不存在的。先要把字典转成list再排序
#sorted():每次自动循环取二维数组里面的元素
d = {'a':5,'b':2,'c':3}
print(d.items()) #得到一个二维数组
res = sorted(d.items(),key=lambda x:x[0]) #key=字典的key值,进行排序
res = sorted(d.items(),key=lambda x:x[1]) #根据字典的value进行排序
print(res)
>>> dict_items([('b', 2), ('a', 5), ('c', 3)])
>>> [('a', 5), ('b', 2), ('c', 3)]
循环时取多个:
l = [ [1,2,3],[3,4,5],[5,6,7] ]
for a,b,c in l: #a,b,c是3个,上面的小list每个也要包含3个元素?
print(a,b,c)
6、定义函数时,告诉别人应该传什么类型的参数
def is_float(s:str):
pass
(八)lambda、列表生成式、字典转list排序的更多相关文章
- Python 函数递归-三元表达式-列表生成式-字典生成式-匿名函数-内置函数
上节课复习: 1. 无参装饰器 def 装饰器名字(func): def wrapper(*args,**kwargs): res = func(*args,**kwargs) return res ...
- Python 列表生成式 & 字典生成式
Python 列表生成式 & 字典生成式 通过生成式可以更加简洁地生成列表和字典 列表生成式 对比 直接生成数据后加入列表示例: user_list = list() for i in ran ...
- python递归-三元表达式-列表生成式-字典生成式-匿名函数-部分内置函数-04
递归 递归: # 函数在调用阶段直接或间接地又调用了自身 应用场景: # 将列表中的数字依次打印出来(循环的层数是你必须要考虑的点) --> l = [1, [2, [3, [4, [5, ...
- python生成式:列表、字典、集合
python的3类生成式: 列表生成式 字典生成式 集合生成式 1.python列表生成式 my_data = [[1, 2, 3], [4, 5, 6], [7, 8, 9]] print(&quo ...
- 1、如何在列表,字典,集合种根据条件筛选数据?2、如何为元组中的每个元素命名,提高程序的可读性3、如何统计出序列中元素出现的频度4、如何根据字典中value的大小,对字典的key进行排序
一.数据筛选: 处理方式: 1.filter函数在py3,返回的是个生成式. from random import randint data = [randint(-100,100) for i in ...
- python序列(列表,元组,字典)的常用排序
列表 正向排序 sort() >>> list=[1,6,3,4,5,2] >>> list.sort() >>> list [1, 2, 3, ...
- Python: 字典列表: itemgetter 函数: 根据某个或某几个字典字段来排序列表
问题:根据某个或某几个字典字段来排序Python列表 answer: 通过使用operator 模块的itemgetter 函数,可以非常容易的排序这样的数据结构 eg: rows = [ {'fna ...
- python关于字典嵌套字典,列表嵌套字典根据值进行排序
python 对于字典嵌套字典, 列表嵌套字典排序 例:列表嵌套自字典:d = [{"name": '张三', 's': 68}, {'name': '李四', 's': 97}] ...
- python3排序 sorted(key=lambda)--实现对字典按value值排序
使用python对列表(list)进行排序,说简单也简单,说复杂也复杂,我一开始学的时候也搞不懂在说什么,只能搜索一些英文文章看看讲解,现在积累了一些经验,写在这里跟大家分享, 1.sorted函数首 ...
随机推荐
- ue4 C++ json数据的读写
这是改变恢复机制的json文件的例子 //写入 TSharedPtr<FJsonObject> RootObject = MakeShareable(newFJsonObject); T ...
- 关于JVM的一些冷知识
(1) Java加载类的一般顺序: 1.静态属性,静态方法声明,静态块. 2.动态属性,普通方法声明,构造块. 3.构造方法. 当加载一个类时,JVM会根据属性的数据类型第一时间赋默认值(一举生成的) ...
- 从npm 角度理解 mvn 的 pom.xml
从npm 角度理解 mvn 的 pom.xml pom -- project object model. 用于描述项目的配置: 基础说明 依赖 如何构建运行 类似 node.js 的 package. ...
- 内存或磁盘空间不足 Microsoft Excel无法再次打开解决方法
在网络上下载的文件,使用EXCEL打开的时候提示“内存或磁盘空间不足,Microsoft Excel 无法再次打开或保存任何文档.”,针对这个问题,装机之家小编特地在网上搜罗了具体解决方法,但是网上提 ...
- Centos7更改yum源
每次都要百度一番,还不如自己做个记录,简单粗暴,哈哈哈哈 cd /etc/yum.repos.d mv CentOS-Base.repo CentOS-Base.repo.old wget http: ...
- 二、Ansible中playbook的变量
先看看debug模块的使用: msg:输出调试信息 var:将某个任务执行的输出作为变量传给debug模块,debug模块将其打印输出 verbosity:debug的任务级别 1:在playbo ...
- python print format
python print format %o —— oct 八进制 %d —— dec 十进制 %x —— hex 十六进制 1 >>> print('%o' % 20) 2 24 ...
- 【java】接口
class :用于定义类interface:用于定于接口 接口定义时,特点:1.接口中常见定义:常亮和抽象方法2.接口中的成员都有固定修饰符(如果没有会被隐式添加) 常量:public static ...
- VUE打包上线优化
1.将vue vue-router vuex 尽量使用CDN externals: { 'vue':'Vue', 'vue-router':'VueRouter', 'vuex':'Vuex', 'a ...
- sxstrace启动.bat
@echo offset dd=%date:~8,2%set mm=%date:~5,2%set yy=%date:~0,4%set Tss=%TIME:~6,2%set Tmm=%TIME:~3,2 ...