根据已有列表,高效创建新列表的方式。
列表解析是Python迭代机制的一种应用,它常用于实现创建新的列表,因此用在[]中。
语法:
[expressionforiter_valiniterable] [expressionforiter_valiniterableifcond_expr]
要求:列出1~10所有数字的平方 2#################################################### 31、普通方法: >>>L=[] >>>foriinrange(1,11): ...L.append(i**2) ... >>>printL [1,4,9,16,25,36,49,64,81,100] #################################################### 2、列表解析 >>>L=[i**2foriinrange(1,11)] >>>printL [1,4,9,16,25,36,49,64,81,100]
1要求:列出1~10中大于等于4的数字的平方 2#################################################### 31、普通方法: 4>>>L=[] 5>>>foriinrange(1,11): 6...ifi>=4: 7...L.append(i**2) 8... 9>>>printL 10[16,25,36,49,64,81,100] 11#################################################### 122、列表解析 13>>>L=[i**2foriinrange(1,11)ifi>=4] 14>>>printL 15[16,25,36,49,64,81,100]
1要求:列出1~10所有数字的平方除以2的值 2#################################################### 31、普通方法 4>>>L=[] 5>>>foriinrange(1,11): 6...L.append(i**2/2) 7... 8>>>printL 9[0,2,4,8,12,18,24,32,40,50] 10#################################################### 112、列表解析 12>>>L=[i**2/2foriinrange(1,11)] 13>>>printL 14[0,2,4,8,12,18,24,32,40,50]
1要求:实现两个列表中的元素逐一配对。 21、普通方法: 3>>>L1=['x','y','z'] 4>>>L2=[1,2,3] 5>>>L3=[] 6>>>forainL1: 7...forbinL2: 8...L3.append((a,b)) 9... 10>>>printL3 11[('x',1),('x',2),('x',3),('y',1),('y',2),('y',3),('z',1),('z',2),('z',3)] 12#################################################### 132、列表解析: 14>>>L1=['x','y','z'] 15>>>L2=[1,2,3] 16L3=[(a,b)forainL1forbinL2] 17>>>printL3 18[('x',1),('x',2),('x',3),('y',1),('y',2),('y',3),('z',1),('z',2),('z',3)]原文来自:https://www.py.cn
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END
暂无评论内容