zoukankan      html  css  js  c++  java
  • python 语法最佳实践

    字符串拼接

    s=""
    for substring in substrings:
        s += substring
    这种字符串的拼接方式会导致运行实践成本和字符串总长度成二次函数关系,效率极低
    
    我们可以使用str.join()方法,可以用空字符串来调用它
    s="".join(substrings)
    
    这种方法速度快。
    evens = []
    for i in range(10):
        if i % 2 ==0:
            evens.append(i)
    print(evens)
    
    1、解释器在每次循环中都需要判断序列中的那一部分需要修改
    2、需要用一个计数器来跟踪需要处理的元素
    3、由于append()是一个列表方法,每次遍历时还需要额外执行一个查询函数
    
    
    【i for i in range(10) if i % 2 ==0】
    
    这种写法更高效,更简短,涉及语法元素也少。
    enumerate枚举函数
    
    
    i=0 
    for element in ['one','two','three']:
        print(i,element)
        i += 1
    
    
    
    更换为
    
    for i,element in enumerate(['one','two','three']):
        print(i,element)
    
    如果需要一个一个合并多个列表,可以使用zip函数,对两个相等的可迭代的对象进行均匀遍历时,这是一种非常常用的模式。
    for item in zip([1,2,3],[4,5,6]):
        print(item)
    
    结果:  (1,4)
             (2,5)
             (3,6)
    
    for item in zip(*zip([1,2,3],[4,5,6])):
          print(item)
    (1,2,3)
    (4,5,6)
  • 相关阅读:
    Fiddler-代理-过滤-弱网测试
    POJ2186 Popular Cows
    POJ3264 Balanced Lineup
    多模式串字符串匹配模板题
    Intersecting Lines
    实现堆结构
    OpenJuege 兔子与星空
    拓扑排序
    POJ3635 Full Tank?
    OpenJudge Cartesian Tree
  • 原文地址:https://www.cnblogs.com/kunixiwa/p/8668649.html
Copyright © 2011-2022 走看看