(八)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函数首 ...
随机推荐
- centos安装VirtualBox增强包VBoxGuestAdditions
1.如果你的CentOS 版本早于 6,那么需要在 /etc/grub.conf 中添加一行 divider=10,以将这个参数传递给核心,以减少 idle CPU load. 2.#yum up ...
- linux下(Window当然也可以)解决idea创建maven项目导入过慢问题
1.正常创建maven web项目 2.见下图,选择加号 3.弹出的框中填入archetypeCatalog----internal,确定即可
- C++之string类型详解
C++之string类型详解 之所以抛弃char*的字符串而选用C++标准程序库中的string类,是因为他和前者比较起来,不必担心内存是否足够.字符串长度等等,而且作为一个泛型类出现,他集成的操作函 ...
- spring cloud/spring boot同时支持http和https访问
l老规矩为大家祭出原帖:https://www.cnblogs.com/lianggp/p/8136540.html 不再转述
- 解决使用C/C++配置ODBC链接中文显示为问号(?)的问题
使用VS2015中使用OBDC连接到数据库时,数据库可以正常显示,但是在VS上输出是乱码,如图: 在数据库中course表显示: vs程序结果显示: 查找原因,因为char默认读ascii型,只读到1 ...
- Linux服务安装配置总结
- python中str函数isdigit、isdecimal、isnumeric的区别
num = "1" #unicodenum.isdigit() # Truenum.isdecimal() # Truenum.isnumeric() # True num = & ...
- vue-demo(初级)
在使用WebStorm前把字符编码等等设置好! 使用WebStorm打开vue项目等待ide索引加载完成 注意要让WebStorm可以创建vue文件需要以下步骤: <template> & ...
- Property ‘password’ threw Exception
问题描述: Maven项目在tomcat启动的时候总是报Propety 'password' threw exception异常时,说明password不对,但核对之后没有问题 解决方案: 核对pas ...
- Vue 移动端常用tap事件封装
基于Vue的移动端项目,有些时间原生并没用提供,需要我们自己手动封装,可以封装一些自定义指令来供全局使用. 本文封装了 tap, swipe, swipeleft, swiperight, swipe ...