pythonic——python化的语法
1.unpacking
使用类似tuple的形式多项赋值,而不是逐项:
list1 = ['hello','world','python','java']
# h = list1[0]
# w = list1[1]
h,w = list1[:2]
2. 使用join来代替字符串拼接生成新对象
colors = ['red', 'blue', 'green', 'yellow']
# result = '',for s in color,result += s
result = ''.join(colors) # 没有额外的内存分配
3.使用 k in dict而不是k in dict.keys()
for key in my_dict:
# for key in my_dict.keys()
my_dict[key] ...
同样的,使用 in而不是has_key判断
if k in my_dict:
# if my_dict.has_key(k)
my_dict[k]
4.使用列表推导式而不是循环
##不推荐
new_list = []
for item in a_list:
if condition(item):
new_list.append(fn(item))
##推荐
new_list = [fn(item) for item in a_list if condition(item)]
pythonic——python化的语法的更多相关文章
- Python的基础语法(二)
0. 前言 接着上一篇博客的内容,我将继续介绍Python相关的语法.部分篇章可能不只是简单的语法,但是对初学者很有帮助,也建议读懂. 1. 表达式 由数字.符号.括号.变量等组成的组合. 算术表达式 ...
- python yield from 语法
python yield from 语法 yield语法比较简单, 教程也很多 , yield from的中文讲解很少 , python官网是这样解释的 PEP 380 adds the yield ...
- Python基础:语法基础(3)
本篇主要介绍Python中一些基础语法,其中包括:标识符.关键字.常量.变量.表达式.语句.注释.模块和包等内容. 1. 标识符和关键字 1.1 标识符 标识符是变量.常量.函数.属性.类.模块和包等 ...
- APScheduler(Python化的Cron)使用总结 定时任务
APScheduler(Python化的Cron)使用总结 简介 APScheduler全程为Advanced Python Scheduler,是一款轻量级的Python任务调度框架.它允许你像Cr ...
- 六. Python基础(6)--语法
六. Python基础(6)--语法 1 ● Python3中, Unicode转字节的方法 print(bytes("李泉", encoding = 'utf-8')) prin ...
- 五. Python基础(5)--语法
五. Python基础(5)--语法 1 ● break结束的是它所在的循环体, continue是让它所在的循环体继续循环 # 打印: 1 10 2 10 3 10 4 10 5 10 6 10 7 ...
- 四. Python基础(4)--语法
四. Python基础(4)--语法 1 ● 比较几种实现循环的代码 i = 1 sum = 0 while i <= 10: # 循环10-1+1=10次 sum += i i ...
- 三. Python基础(3)--语法
三. Python基础(3)--语法 1. 字符串格式化的知识补充 tpl = "我是%s,年龄%d,学习进度100%" %('Arroz',18) print(tpl) # 会提 ...
- 二. Python基础(2)--语法
二. Python基础(2)--语法 1.实现一个简单的登录系统 '''# 形式1 n = 1 while n < 4: name = input("请输入姓名\n" ...
随机推荐
- jenkins部署java项目(五)
一.web server安装jdk+tomcat其中jdk可以为openjdk,版本1.8 1.1 安装jdk环境 方式一:直接使用yum安装openjdk # * 方式二:本地安装在oracle官网 ...
- MongoDB安装启动教程
MongoDB安装启动教程 简易教程:鉴于第一次大家使用分布式数据库,提供一个简易教程(也可看老师的PPT或者视频) 1.点击安装包(老师给的),安装目录不要更改,否则后面配置需要改,可能导致装不上 ...
- 文件上传与下载,PDF与Excel的操作
1.文件上传 前端代码 <el-upload class="upload-demo" ref="upload" :action="actionU ...
- 纯数据结构Java实现(7/11)(SegmentTree)
欢迎访问我的自建博客: CH-YK Blog.
- docker学习7-Dockerfile制作自己的镜像文件
前言 如果你是一个python自动化测试人员,某天你在公司终于完成了一个项目的接口自动化脚本工作,在你自己常用的本机或者服务器上调试完成了脚本,稳稳地没问题. 可是晚上下班回家,你自己找了个linux ...
- C#程序 -- 以管理员权限运行
阅读目录 一.判断程序是否以管理员身份运行 C#程序以管理员权限运行 在Vista 和 Windows 7 及更新版本的操作系统,增加了 UAC(用户账户控制) 的安全机制,如果 UAC 被打开,用户 ...
- DT系统开发之-在线询盘信息的调取实现
调用标签 <!--{tag("table=message&condition=status=3 and typeid=1&areaid=$cityid&cati ...
- python基础语法5 函数定义,可变长参数
函数 1.什么是函数 函数就是一种工具. 可以重复调用 2.为什么要用函数 1.防止代码冗(rong)余 2.代码的可读性差 3.怎么用函数 1.定义函数-->制造工具 2.调用函数--> ...
- Reducetask机制
Reduce大致分为copy.sort.reduce三个阶段,重点在前两个阶段.copy阶段包含一个eventFetcher来获 取已完成的map列表,由Fetcher线程去copy数据,在此 ...
- MongoDB索引存储BTree与LSM树(转载)
1.为什么 MongoDB 使用B-树,而不是B+树 MongoDB 是一种 nosql,也存储在磁盘上,被设计用在数据模型简单,性能要求高的场合.性能要求高,我们看B-树与B+树的区别: B+树内节 ...