流畅的Python(一)
参考资料:
列表推导
生成一个循环列表 1
a=[i for i in range(5)]
生成一个双循环列表 生成(0,2,4,6,8) 1
2
3
4
5a=[(i,j) for i in range(5) for j in list('ABCD')]
等价于
for i in range(5):
for j in list('ABCD'):
a.append((i,j))
替代filter筛选循环 1
a=[i*2 for i in range(5)]
1
a = [i for i in range(5) if i < 3]
生成器表达式
1 | def gen(x): |
1 | 生成器表达式 |
解包和拆包
1 | a = (20,8) |
1 | a1,*rest=range(0,5) |
1 | 嵌套解包 |
序列的增量赋值
1 | a=range(5) |
若a和b都为元组,则无论是+=还是+都是新地址,因为元组本身就是不可改变的,不能直接在指向旧地址的a后面延长。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Shouei的Blog!
评论