字符串拼接
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)