python-for表达式
for表达式用于其他区间,元组,列表等可迭代对象创建新的列表
[表达式 for 循环计数器 in 可迭代对象]
for表达式与普通for循环的区别有两点
- 在for关键字之前定义一个表达式,该表达式通常会包含循环计数器
- for 表达式没有循环体,所以不需要冒号
for表达式同样会对可迭代对象进行循环--可迭代对象包含几个元素,该循环就对for之前的表达式进行几次循环,并将每次循环的值收集起来作为新的列表元素。
for表达式最终的返回是列表,所以也称for表达式为列表推导式,进行快速生成列表
list_1 = [x * x for x in range(10)] 2 print(list_1) 3 """ 4 还可以在for表达式中添加if条件进行元素的筛选 5 """ 6 list_1 = [x * x for x in range(10) if x > 4] 7 print(list_1) 8 """ 9 如果将for表达式的方括号变成圆括号,for表达式将不在生成列表,而是生> 成生成器 10 """ 11 c_generatoe = (x * x for x in range(1,10)) 12 for i in c_generatoe: 13 print(i) 14 """ 15 for表达式可以使用多个循环,等价于循环嵌套 16 """ 17 list_1 = [(x,y) for x in range(1,5) for y in range(1,5)] 18 print(list_1) 19 #等价于以下的循环嵌套 20 list_1 = [] 21 for x in range(1,5): 22 for y in range(1,5): 23 list_1.append((x,y)) 24 print(list_1)
笨鸟先飞