Python的列表推导的几个用法
列表推动是很简练、优美的一种用法。通过列表推导,可以形成新的列表、多维列表、元组列表和字典列表。还找到一个具体的实例,就是利用列表推导算乘法口诀表。
一、用列表推导建新列表、元组和字典
listX,listY,listZ=[100,101,102],[1,2,3],[7,8,9]
#形成新的列表
list2=[x+10 for x in listX]#“x+10”后面没有逗号。
#形成二维列表
list3=[[x,x+2] for x in listX]
list5=[[x,y] for x in listX for y in listY]
#形成列表元组
list4=[(x,y) for x in listX for y in listY]
#形成三维列表
list6=[[x,y,z] for x in listX for y in listY for z in listZ]
#形成字典列表
list7=[{x,y+z} for x in listX for y in listY for z in listZ]
print(list2)
print(list3)
print(list4)
print(list5)
print(list6)
print(list7)
输出
二、乘法表
乘法表是这样的
设两个1-9的列表list1,list2,乘法表的条件是:当第二个列表值j小于等于第一个列表值i时,即(i>=j)则成为列表元素。
list1,list2=[1,2,3,4,5,6,7,8,9],[1,2,3,4,5,6,7,8,9]
result=[str(j)+'*'+str(i)+'='+str(i*j) for i in list1 for j in list2 if i>=j]
print(result)
想把“for i in list1 for j in list2”改为“for i,j in list1,list2”没有成功,是语法错误。
输出: