python中的推导式
摘抄的地址
一/ 列表推导式:用[]
格式: [生成表达式 for 元素 in 可迭代对象],可以加上条件判断语句
In [1]: [i**2 for i in range(5)]
Out[1]: [0, 1, 4, 9, 16]
In [2]: [i for i in range(5) if i%2==0]
Out[2]: [0, 2, 4]
In [3]: [i**3 if i%2==0 else i*i for i in range(5)]
Out[3]: [0, 1, 8, 9, 64]
- 生成器:用()
multiples = (i for i in range(30) if i % 3 is 0)
In [4]: (i for i in range(30) if i % 3 is 0)
Out[4]: <generator object <genexpr> at 0x0405B270>
二/ 字典推导式
例如:交换k和v
In [5]: dic = {'a': 10, 'b': 34}
In [6]: {v: k for k, v in dic.items()}
Out[6]: {10: 'a', 34: 'b'}