python 代码优化
来源:互联网 发布:写小说软件 编辑:程序博客网 时间:2024/06/08 06:15
代码优化
1. 合并尽量用 join
s = ','.join(list1)
2. 可以不用循环就不用循环
例1:---------------------------------------------------
valid_tags 数据为 [('漂亮',100),('美丽',150),('丑',89)]
valid_tags_name = []
for n in valid_tags:
valid_tags_name.append(n[0])
用map优化循环:
valid_tags_name = map(lambda x : x[0], valid_tags)
例2:---------------------------------------------------
newlist = []
for word in oldlist:
newlist.append(word.upper())
优化:
newlist = map(str.upper, oldlist)
或者
newlist = [s.upper() for s in oldlist]
3. 使用dict1.get(key) 代替 if key in k_dict \
使用xrange 代替range \
使用字典代替List (字典是索引查询,速度为o(1); list为链表查询,速度为o(n))
反例:
k = [10,20,30,40,50,60,70,80,90]
for i in xrange(10000):
if i in k:
pass
优化
k = [10,20,30,40,50,60,70,80,90]
k_dict = {i:1 for i in k} #将list转换为dict
for i in xrange(10000):
# if i in k_dict:
if k_dict.get(i): #使用k_dict.get(i) 优化 if i in k_dict
print i,
4. 取交集
反例:
list_a = [1,2,3,4,5]
ist_b = [2,3,4,5,6]
list_c = [a for a in list_a if a in list_b]
优化:
list_a = [1,2,3,4,5]
list_b = [2,3,4,5,6]
1. 合并尽量用 join
s = ','.join(list1)
2. 可以不用循环就不用循环
例1:---------------------------------------------------
valid_tags 数据为 [('漂亮',100),('美丽',150),('丑',89)]
valid_tags_name = []
for n in valid_tags:
valid_tags_name.append(n[0])
用map优化循环:
valid_tags_name = map(lambda x : x[0], valid_tags)
例2:---------------------------------------------------
newlist = []
for word in oldlist:
newlist.append(word.upper())
优化:
newlist = map(str.upper, oldlist)
或者
newlist = [s.upper() for s in oldlist]
3. 使用dict1.get(key) 代替 if key in k_dict \
使用xrange 代替range \
使用字典代替List (字典是索引查询,速度为o(1); list为链表查询,速度为o(n))
反例:
k = [10,20,30,40,50,60,70,80,90]
for i in xrange(10000):
if i in k:
pass
优化
k = [10,20,30,40,50,60,70,80,90]
k_dict = {i:1 for i in k} #将list转换为dict
for i in xrange(10000):
# if i in k_dict:
if k_dict.get(i): #使用k_dict.get(i) 优化 if i in k_dict
print i,
4. 取交集
反例:
list_a = [1,2,3,4,5]
ist_b = [2,3,4,5,6]
list_c = [a for a in list_a if a in list_b]
优化:
list_a = [1,2,3,4,5]
list_b = [2,3,4,5,6]
list_c= set(list_a)&set(list_b)
5... 待续...
阅读全文
0 0
- Python代码优化:优化原则
- Python代码优化:优化策略
- Python代码优化
- Python代码优化
- Python的代码优化
- 优化代码(Python)
- Python代码优化
- Python代码优化概要
- Python 代码性能优化
- python代码优化
- Python代码性能优化
- Python代码优化实践
- python代码优化
- Python代码性能优化
- python 代码优化
- python代码优化
- Python代码性能优化技巧
- Python 代码性能优化技巧
- 路由大项目
- @ResponseBody 和 @RequestBody 注解的区别
- 修改sql数据库显示远程调用失败
- BZOJ-3207 花神的嘲讽计划Ⅰ ,hash+可持久化线段树
- 小白跟老司机学网站搭建
- python 代码优化
- Git 版本控制(一)
- 路由界面
- AngularJS实现对用户信息的增删改查
- 童年回忆
- SpringMVC和struts,当然选前者了,后者恶心了
- dlib 15 dlib自带demo 基于DNN的车辆检测
- 分页
- SAP HANA Express Edition (HXE)-二进制安装使用步骤