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”没有成功,是语法错误。

输出:

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值