列表推导式

使用[ ]生成list

基本表达式:  expr for value in collection if condition        其中if条件可以没有。

#0-9的平方,输出为列表
list1=[x**2 for x in range(10)]#range(10)是0-9
print(list1)
#结果为[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

使用for循环完成

#0-9的平方,输出为列表
list1=[]
for i in range(10):
    list1.append(i**2)
print(list1)
#结果为[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

可以看出使用列表推导式用更少代码来实现同样的操作!

函数的调用联合使用

def f1(x):
    return x**2
a = [f1(i) for i in range(10) ]
print (a)
# 结果为: [0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

在看一个列子:用1 2 3 4这4个数可以组成多少个三位数,分别是多少?

#用1 2 3 4这4个数可以组成多少个互不相同且无重复的三位数,分别是多少?
list1=[100*x+10*y+z for x in range(1,5) for y in range(x,5) for z in range(1,5) if x!=y and y!=z and x!=z]
print(list1)
#结果为[123, 124, 132, 134, 142, 143, 231, 234, 241, 243, 341, 342]
#推导式中可以有多个for

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值