在我们编写列表一些带有规律性的列表的时候,往往普通的方式会将代码拉长,浪费空间不说还不便于阅读
简单的一个例子
列表 list=[0,2,4,6,8] 为 0-9 中间所有的偶数(不能直接写出,需要通过程序计算)
普通版本
list = []
for i in range(10):
if i%2 == 0:
list.append(i)
print(list)
>>[0, 2, 4, 6, 8]
列表推导式版本
list = [i for i in range(10) if i%2 == 0]
print(list)
>>[0, 2, 4, 6, 8]
由此可见,列表推导式明显比较简单而且好读
以上述那个为例子不难看出推导式大概是由这三部分来确定的
- 确定循环变量,也就是列表中的元素
- 通过 for 循环将循环变量确定
- 在通过判断,使得通过判断的元素显示在列表中
字典推导式
毋庸置疑,在字典中也存在推导式
但是推导式只能对一个变量进行赋值,也就是说在一个方括号里面只能存在对一个变量名的遍历,而不能写两个
{表达式 for 迭代变量 in 可迭代对象 [if 条件表达式]}
a = ['a','b','c','d']
b = {i:i+"1" for i in a}
print(b)
总结
推导式是 python 中一个很高级的用法,也许用不到,但最好还是了解一下以便不时之需