pythontips

basic grammer

  1. 切片
    list[0:5:2] ‘abcdef’[:2]
  2. 迭代
    for xx in …
    from collections import Iterable
    isinstance([1,2,3],Iterable) True
    for i, value in enumerate([‘a’, ‘b’, ‘c’]):
    for x,y in dict:
  3. 列表生成式 (PS:看到这我又一次感叹Python的变态)
    list[1,2,3,4,5] = list(range(1,6))
    [x * x for x in range(1, 11) if x % 2 == 0]
    [m + n for m in ‘ABC’ for n in ‘XYZ’]
    [k + ‘=’ + v for k, v in d.items()]
    [s.lower() for s in L]
  4. 生成器
    l = ()
    斐波那契数列原理 通过算法推算后面的内容
    def fib(max): n, a, b = 0, 0, 1 while n < max: print(b) a, b = b, a + b n = n + 1 return 'done'
    函数内部有yield 这个函数就是generator 生成器主要指的是一种机制 一边循环一边计算