![76f5f05306153e2a90490e6bbfaccf91.png](https://img-blog.csdnimg.cn/img_convert/76f5f05306153e2a90490e6bbfaccf91.png)
介绍
列表推导是python中迭代协议的一个有趣且使用的例子,通常而言列表推导可以用for
循环完全替代,但是列表推导显而易见只需要更少的代码,并且在大部分情况下比for
循环运行速度更快,这是因为列表推导的迭代在解释器内部是以C语言的速度执行的,而不是以手动python代码执行的,尤其是对于较大的数据集合,列表推导有较大的性能优势。
目的:当我们需要对一个序列上的每一个元素都执行同一个操作时,使用列表推导就非常方便。
基本用法
Example 1. 输出1-10的平方,并保存在列表中。
# 列表推导法
squa = [x ** 2 for x in range(1, 10)]
# for循环等效代码
squa = []
for x in range(1, 10):
squa.append(x ** 2)
可以看到列表推导只需一行代码即可解决for
循环3行代码的内容。
Example 2. 逐行读取文件内容,并转换为大写
# 列表推导法
content = [line.upper() for x i