美文网首页
Python 性能优化

Python 性能优化

作者: v1coder | 来源:发表于2017-12-30 21:50 被阅读0次

    循环的优化

    有多重循环的尽量将内层的计算提到上一层。
    使用 xrange 比 range 节省大量的系统内存。
    可以不用循环的时候就不要用循环,比如 改用map()

    字符串的优化

    字符串数量小的时候,"+"和格式化都很快,join是最慢的,字符串数量大的时候,join比较快。

    所以:
    简单字符串连接时,直接使用"+"
    有格式化需求时,使用"%"
    当有大量字符串时,使用"str.join"

    列表的优化

    成员的查找访问等操作,字典比列表快,查找字典的时间复杂度为O(1),查找列表为O(n)。
    涉及到求 list 交集、并集或者差的问题,转换为 set 来操作比较快。
    使用列表解析(list comprehension)和生成器表达式(generator expression)列表解析要比在循环中重新构建一个新的 list 更为高效。

    其他技巧:

    如果需要交换两个变量的值使用 a,b=b,a ,而不是借助中间变量 t=a;a=b;b=t

    使用级联比较 "x < y < z" 而不是 "x < y and y < z";

    if done is not None 比语句 if done != None
    if is Trueif == True
    while 1 要比 while True 更快

    如果存在条件表达式 if x and y,在 x 为 false 的情况下 y 表达式的值将不再计算。
    所以对于and,应该把满足条件少的放在前面,而对于or,把满足条件多的放在前面。


    资料:
    Python 代码性能优化技巧
    Python性能优化的20条建议

    20171230

    相关文章

      网友评论

          本文标题:Python 性能优化

          本文链接:https://www.haomeiwen.com/subject/embngxtx.html