Python中的列表推导式详解
一、基本语法结构
列表推导式的基本语法结构为:
[ expression for item in iterable if condition ]
其中,expression表示参与列表生成的表达式,可包含变量、函数调用等操作;item表示生成列表中的元素;iterable表示可迭代的对象,例如列表、元组、集合等;if condition表示对条件的筛选,可以省略。
二、常见使用场景
1.生成整数列表
例如,生成1~10之间的整数列表可以使用以下代码:
numbe = [i for i in range(1,10)]
print(numbe)
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]
2.生成平方列表
例如,生成1~10之间的整数的平方列表可以使用以下代码:
numbe = [i**2 for i in range(1,10)]
print(numbe)
结果:[1, 4, 9, 16, 25, 36, 49, 64, 81]
3.过滤列表元素
例如,从一个字符串列表中筛选出长度超过3的字符串可以使用以下代码:
str_list = ['hello','python','java']
listnum = [i for i in str_list if len(i) >5]
结果:['python']
4.多重循环
例如,生成1~9之间的所有乘积可以使用以下代码:
numbe = [i*j for i in range(1,4) for j in range(1,4)]
结果:[1, 2, 3, 2, 4, 6, 3, 6, 9]