Python列表推导式

python中列表推导式的作用是 较为简介方便的生成具有规律的列表

列表推导式一般是由for循环和 if条件判断构成的

list1 = []
for i in range(5):
    list1.append(f"{i}只羊")
print(list1)
# ['0只羊', '1只羊', '2只羊', '3只羊', '4只羊']

上面是一个简单的for循环实现数羊,下面使用列表推导式进行生成

list1 = [f"{i}只羊" for i in range(5)]
print(list1)
# ['0只羊', '1只羊', '2只羊', '3只羊', '4只羊']

由上可见,列表推导式只是将for循环语句放进了列表内部, 而前面的f"{i}只羊"则是代指列表的每个元素,其中的i由后面的for循环遍历取值

之后列表生成式还支持在for循环后使用if进行判断

list1 = [i**3 for i in range(5) if i % 2 == 0]
print(list1)
# [0, 8, 64]

上面是一个列表,由0-4中的偶数的3次幂构成,在for循环后使用了if进行筛选,注意 如有多个if判定需求可以写多个if

list1 = [i**3 for i in range(5) if i % 2 == 0 if i <= 2]
print(list1)
# [0, 8]

上述代码就新增了一个i<=2的条件判定,在内部执行的时候,顺序为,先进行for循环,而后按序进行if判断

列表推导式也可以结合三目运算符来使用,关于三目运算符的使用可以参考我的另一篇博客Python 三目运算符-CSDN博客

list1 = [i**3 if i % 2 == 0 else i**2 for i in range(10)]
print(list1)
# [0, 1, 8, 9, 64, 25, 216, 49, 512, 81]

上面是一个结合了列表推导式和三目运算符的例子,三目运算符的作用为判定元素是奇数还是偶数,奇数则返回其2次幂,否则返回3次幂

  • 5
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值