python代码小技巧整理

python小技巧

Posted by 张振 on June 15, 2019

收集python的小技巧, python实现原理

  1. 序列的索引来迭代
     a = ['Mary', 'had', 'a', 'little', 'lamb']
    

    要以序列的索引来迭代,您可以将 range() 和 len() 组合如下:

     for i in range(len(a)):
         print(i, a[i])
    

    然而,在大多数这类情况下,使用 enumerate() 函数比较方便 enumerate(iterable, start=0)
    返回一个枚举对象。iterable 必须是一个序列,或 iterator,或其他支持迭代的对象。 enumerate() 返回的迭代器的 __next__() 方法返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。

     >>> seasons = ['Spring', 'Summer', 'Fall', 'Winter']
     >>> list(enumerate(seasons))
     [(0, 'Spring'), (1, 'Summer'), (2, 'Fall'), (3, 'Winter')]
     >>> list(enumerate(seasons, start=1))
     [(1, 'Spring'), (2, 'Summer'), (3, 'Fall'), (4, 'Winter')]
     等价于:
    
     def enumerate(sequence, start=0):
         n = start
         for elem in sequence:
             yield n, elem
             n += 1