1、推导式的好处,让烦杂的代码变得简单易看,也减少我们写的代码量,我们来举个例子,建立一个0到9平方的列表
用以前的学习的内容,写出来是这样的
lis = []
for i in range(10):
lis.append(i*i)
print(lis)
#输出结果是[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
如果你用推导式写的话就是这样
[i*i for i in range(10)]
#输出结果是[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
2、推导的基本结构
[变量 for 变量 in 条件 if 条件判断]
3、列表推导式的使用
例子1、输出一个10以内的偶数的平方的列表
[i*i for i in range(10) if i%2==0]
#输出结果是[0, 4, 16, 36, 64]
例子2、输出一个10以内的基数的平方的列表
[i*i for i in range(10) if i%2!=0]
#输出内容是[1, 9, 25, 49, 81]
例子3、建立一个名字的列表,然后把名字长度大于5的名字提取出来,把首字母大写后弄成一个新的列表
lis = ['xiaoj','xiaoming','xiaogou']
[name.title() for name in lis if len(name)>5]
#输出结果是['Xiaoming', 'Xiaogou']
4、字典推导式的使用
例子1、建立一个名字的列表,然后把名字长度大于5的名字提取出来,用名字作为字典的key,名字的长度做为字典的value,建立一个新的字典
lis = ['xiaoj','xiaoming','xiaogou']
{name:len(name) for name in lis if len(name)>5}
#输出内容是{'xiaoming': 8, 'xiaogou': 7}
例子2、建立一个名字的列表,建立一个身高的列表,把它们组合成一个新的字典
lis_1 = ['xiaoj','xiaoming','xiaogou']
lis_2 = [170,175,180]
{name:high for name,high in zip(lis_1,lis_2)}
#输出内容是{'xiaoj': 170, 'xiaoming': 175, 'xiaogou': 180}
5、集合推导式的使用,跟字典的使用差不多
例子1、输出一个10以内的偶数的平方的集合
{i*i for i in range(10) if i%2==0}
#输出内容是{0, 4, 16, 36, 64}
推导式的使用就讲解到这里,大家有问题欢迎评论