Python教程:扩展-列表推导式

开课吧开课吧锤锤2021-07-26 11:57

列表推导式(ListComprehension),是Python中的一个很棒的语法糖,也称为列表解析式,它提供了一种简明扼要的方法来创建一个新列表。  

扩展 - 列表推导式

前面我们提到的for循环嵌套使用,业务代码显得有点冗余,也相对耗性能,下面我们将使用列表推导式来代替它。  

1、语法格式  

out_list = [表达式 for 变量 in 列表 条件判断语句等]  

2、案例-生成由0~10所有整数的平方组成的新列表  

>>> out_list = [i**2 for i in range(10)]
>>> out_list
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

3、案例-生成由0~10所有偶数的平方组成的新列表  

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

4、与传统嵌套使用消耗时间对比,使用time模块计时  

# 传统 for 循环嵌套
# 完成 0-1000 每个数两两相乘
>>> import time
    start_time = time.time()
    out_list = []
    for i in range(1000):
        for j in range(1000):
            out_list.append(i*j)
    print(len(out_list))
    end_time = time.time()
    print(end_time-start_time)
# 新列表共一百万个元素
# 耗时约 0.179 秒
1000000
0.17854714393615723
# 传统列表推导式
# 完成 0-1000 每个数两两相乘
>>> import time
    start_time = time.time()
    out_list = [i*j for i in range(1000) for j in range(1000)]
    print(len(out_list))
    end_time = time.time()
    print(end_time-start_time)
# 新列表共一百万个元素
# 耗时约 0.088 秒,效率提升不少
1000000
0.08780097961425781

以上就是开课吧广场小编为大家整理发布的“Python教程:扩展-列表推导式”一文,更多Python教程相关内容尽在开课吧Python教程频道。

免责声明:本站所提供的内容均来源于网友提供或网络搜集,由本站编辑整理,仅供个人研究、交流学习使用。如涉及版权问题,请联系本站管理员予以更改或删除。
有用
分享