python-for表达式

  for表达式用于其他区间,元组,列表等可迭代对象创建新的列表

[表达式 for 循环计数器 in 可迭代对象]

 for表达式与普通for循环的区别有两点

  1. 在for关键字之前定义一个表达式,该表达式通常会包含循环计数器
  2. 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)      
笨鸟先飞
原文地址:https://www.cnblogs.com/zoutingrong/p/13860837.html