1) 简单了解:
格式:
列表推导式的常见形式: my_list = [ item for item in iterable]
my_list: 列表名 (变量名, 属于标识符)
item: 将要存放到列表中的内容
for item in iterable: 非常标准的for循环表达式 [expr for iter in iterable if cond_expr]
expr: 将要存放到列表中的内容
iter: 遍历的每一项内容
iterable: 遍历的对象
if cond_expr: 条件表达式, 只有满足当前条件的,才能存放到列表中.
例如:
my_list = [x*x for x in range(10)]
print(my_list) my_list1 = [x**2 for x in range(6)]
print(my_list1)
结果:
[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]
[0, 1, 4, 9, 16, 25]
例如:
list = [x for x in range(3, 19, 2)]
print(list)
结果:
[3, 5, 7, 9, 11, 13, 15, 17]
2) 使用if的情况:
例如:
list = [x for x in range(3, 10) if x % 2 == 0]
print(list)
结果:
[4, 6, 8]
例如
list = [11, 10, 9, 8, 7, 6]
[x for x in list if x % 2]
结果
[11, 9, 7]
例如
list = [x for x in 'hello python' if x != ' ' and x != 'l']
print(llist)
结果
['h', 'e', 'o', 'p', 'y', 't', 'h', 'o', 'n']
注意:
列表推导式对整个列表进行迭代,必须生成所有数据,用于创建列表;
也就是说,当数据过于庞大的时候,会产生负面效应