Python小tips
来源:互联网 发布:找最大值 java 方法 编辑:程序博客网 时间:2024/05/29 06:58
1. 同时访问序列的索引和索引对应的值
Problem:
你需要迭代一个序列,但同时你想知道每一步迭代到了序列的哪个位置。
Solution:
for index, item in enumerate(sequence):
if item > 23:
sequence[index] = transform(item)
这种方法要比下面这种使用索引来访问序列值的方法更清晰,可读性更强,并且更快:
for index in range(len(sequence)):
if sequence[index] > 23:
sequence[index] = transform(sequence[index])
2. 如果序列太大,考虑使用生成器表达式而不是列表解析。从而避免了在内存中构造一个大的列表,更节省内存更快。
3. 如何让你的python程序跑得更快?
把程序编译成C的扩展或x86汇编语言或者直接改写成C固然是一个好主意,但开始可以先从你的Python代码找原因。切记,优化往往意味着代码可读性和清晰度的降低,并且增加了开发时间和出现bug的几率,所以优化前请认真权衡成本和收益。Python的标准模块"profile"能够找出你的程序中哪些部分最耗时间,从而着重优化这些部分。根据Python语言的特性,你可以通过以下几点让你的程序更快点。
(1) 函数和方法调用的代价很高。所以访问和设置一个实例的变量不需要get/set方法,直接访问要更划算。
(2) 进行字符串连接时,如果用以连接的每个子串很长(10K+),join()要比"+"快,因为"+"会计算很多的子表达式,而join()能够在一遍中完成。当然也可以考虑字符串格式化("%")。
(3) 要循环调用一个函数可以考虑把循环放在函数体内。
(4) sort()虽然没有sorted()方便,但因为前者是在原地修改一个列表,所以比sorted()效率更高。
- Python小tips
- python小TIPS
- Python小Tips
- Python小Tips--持续update~
- Python Tips(Python小知识点)
- python 学习与使用小tips
- 小tips
- 小tips
- 小Tips
- Python开发中的一些小的tips记录
- VS平台上Python开发一些小tips
- 安装Python中的小tips -重新启动是王道 !!!
- #Python 廖雪峰老师#Week 1_2: 一些小tips
- Python--一些重要的小tips【持续更新】
- python tips
- Python tips
- python tips
- Python Tips
- 今天进驻Csdn
- [ZT] ASP.NET 关于大文件上传问题
- Test1说明
- 检查点9.1的三道题
- 打造酷炫风格的Swing界面
- Python小tips
- PKU 1061
- 不用共享引用创建一个列表的列表
- 面试技巧:16个经典面试问题回答思路
- 对象不同使用的区别
- sql2000行转列
- 韶慧,加油!
- 中国历史“四大谜案”
- 团队活动与团队士气