Python高级用法
三元表达式
x = 10
y = 20
print(x if x > y else y)
x = 100
y = 20
print(x if x > y else y)
20
100
列表推导式和生成器
列表推导式
print([i for i in range(10)])
print([i*2 for i in range(10)])
print([i-1 for i in range(10)])
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]
[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]
[-1, 0, 1, 2, 3, 4, 5, 6, 7, 8]
生成器
把列表推导式的[]换成()就是生成器表达式
优点:省内存,一次只产生一个值在内存中
t = (i for i in range(10))
print(t)
print(f"next(t): {next(t)}")
zip()返回一个zip对象,其内部元素为元组;可以转化为列表或者元组
keys = ['name', 'age', 'gender']
values = ['nick', 19, 'male']
res = zip(keys, values)
print(res)
for i in res:
print(i)
print(F"zip(keys,values): {zip(keys,values)}")
info_dict = {k: v for k, v in res}
print(f"info_dict: {info_dict}")
<zip object at 0x000001D6D7870E08>
('name', 'nick')
('age', 19)
('gender', 'male')
zip(keys,values): <zip object at 0x000001D6D7870E88>
info_dict: {}
匿名函数
匿名函数就是一个没有变量名的函数对象
res = (lambda x, y: x+y)(1, 2)
print(res)
print(lambda x, y: x+y)
3
<function at 0x000001958A013E18>
应用(一般和内置函数联用)
匿名函数通常与max()、sorted()、filter()、sorted()方法联用。
举例filter 匿名
name_list = ['nick', 'jason sb', 'tank sb', 'sean sb']
filter_res = filter(lambda name: name.endswith('sb'), name_list)
print(f"list(filter_res): {list(filter_res)}")
list(filter_res): ['jason sb', 'tank sb', 'sean sb']
正常函数
name_list = ['nick', 'jason sb', 'tank sb', 'sean sb']
def zx(name):
return name.endswith('sb')
filter_res = filter(zx, name_list)
print(f"list(filter_res): {list(filter_res)}")
list(filter_res): ['jason sb', 'tank sb', 'sean sb']
Python高级用法的更多相关文章
-
Python高级用法总结
Python很棒,它有很多高级用法值得细细思索,学习使用.本文将根据日常使用,总结介绍Python的一组高级特性,包括:列表推导式.迭代器和生成器.装饰器. 列表推导(list comprehensi ...
-
python基础25 -----python高级用法
一.Event 1.为什么会有Event? 线程的一个关键特性就是每个线程的运行都是独立运行且状态不可预测.如果程序中的线程需要通过别的线程的状态来判断自己线程中的 某个程序是否需要执行,那么Even ...
-
Python高级用法篇——笔记
1.Python3字典中items()和python2.x中iteritems()的区别 在Python2.x中,items( )用于 返回一个字典的拷贝列表[Returns a copy of th ...
-
Python高级用法------字典无需提前定义key
from collections import defaultdict import json def tree(): return defaultdict(tree) categories = tr ...
-
Python3高级用法综合举例
[本文出自天外归云的博客园] 举例 下面代码围绕一个Student类综合举例说明装饰器.生成器.动态获取/添加类成员.列表推导式.reduce函数.lambda表达式的实际应用: from funct ...
-
简学Python第七章__class面向对象高级用法与反射
Python第七章__class面向对象高级用法与反射 欢迎加入Linux_Python学习群 群号:478616847 目录: Python中关于oop的常用术语 类的特殊方法 元类 反射 一.P ...
-
Python进阶:切片的误区与高级用法
2018-12-31 更新声明:切片系列文章本是分三篇写成,现已合并成一篇.合并后,修正了一些严重的错误(如自定义序列切片的部分),还对行文结构与章节衔接做了大量改动.原系列的单篇就不删除了,毕竟也是 ...
-
Python爬虫入门之Urllib库的高级用法
1.设置Headers 有些网站不会同意程序直接用上面的方式进行访问,如果识别有问题,那么站点根本不会响应,所以为了完全模拟浏览器的工作,我们需要设置一些Headers 的属性. 首先,打开我们的浏览 ...
-
Python 内置函数sorted()在高级用法
对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...
随机推荐
-
mvc 数据验证金钱格式decimal格式验证
mvc 数据验证金钱格式decimal格式验证 首先看下代码 /// <summary> /// 产品单价 /// </summary> [Display(Name = &qu ...
-
Fixflow引擎解析(二)(模型) - BPMN2.0读写
Fixflow引擎解析(四)(模型) - 通过EMF扩展BPMN2.0元素 Fixflow引擎解析(三)(模型) - 创建EMF模型来读写XML文件 Fixflow引擎解析(二)(模型) - BPMN ...
-
c语言基础学习07
============================================================================= 涉及到的知识点有: 1.指针.指针的概念.指 ...
-
C#WebService 出现No &#39;Access-Control-Allow-Origin&#39; header is present on the requested resource
C#WebService 出现No 'Access-Control-Allow-Origin' header is present on the requested resource 解决办法: 在c ...
-
CMDB服务器管理系统【s5day90】:获取今日未采集主机列表
1.目录结构 1.服务器端 2.客户端 2.具体代码如下 1.数据库增加两个字段 class Server(models.Model): """ 服务器信息 " ...
-
perl语言中的.pm文件和.pl文件区别
perl...呵呵呵 按照惯例,.pm 应该保存 Perl Module,也就是 Perl 模块.例如 Socket.pm.pl 应该保存 Perl Library,也就是 Perl 库文件.例如 p ...
-
oracle 分析函数 keep(dense_rank first/last)
SQL : select * from crisis_sales where dept_id = 'D02' order by sale_date; DEPT_ID SALE_DATE GOODS ...
-
springboot activiti 配置项详解
asyncExecutorEnabled属性设置设置true后将代替那些老的Job executorspring.activiti.async-executor-enabled=false sprin ...
-
div 绑定keyup
参考 https://www.cnblogs.com/Struts-pring/p/4290740.html <div tabindex="-1" onkeyup=" ...
-
PostgreSQL同步方案
Windows下Postgre SQL数据库通过Slony-I实现数据库双机同步备份 - 数据库其他综合 - 红黑联盟 postgresql同步流复制的Hot Standby - CSDN博客 使 ...