Python小技巧:列表推导式替代循环遍历

Python 专栏收录该内容
38 篇文章 4 订阅

大家好,我是只谈技术不剪发的 Tony 老师。

今天介绍的 Python 小技巧是列表推导式(List Comprehension),它可以用来替代 for 循环,不但容易理解,而且性能也会更好。

# Python 列表推导式

vals = [expression 
        for value in collection 
        if condition]

# 等价于:

vals = []
for value in collection:
    if condition:
        vals.append(expression)

# 示例:

>>> even_squares = [x * x for x in range(10) if not x % 2]
>>> even_squares
[0, 4, 16, 36, 64]

使用列表推导式实现嵌套循环:

>>> print([x*y for x in [1,2,3] for y in  [1,2]])
[1, 2, 2, 4, 3, 6]

>>> for x in [1,2,3]:
...   for y in [1,2]:
...     print(x*y)
...
1
2
2
4
3
6

如果你觉得文章有用,欢迎评论📝、点赞👍、推荐🎁

  • 6
    点赞
  • 2
    评论
  • 8
    收藏
  • 打赏
    打赏
  • 扫一扫,分享海报

©️2022 CSDN 皮肤主题:酷酷鲨 设计师:CSDN官方博客 返回首页

打赏作者

不剪发的Tony老师

为 5 个 C 币而折腰。

¥2 ¥4 ¥6 ¥10 ¥20
输入1-500的整数
余额支付 (余额:-- )
扫码支付
扫码支付:¥2
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值