列表推导式
列表推导式的本质就是通过一个循环体来构建一个列表对象,分为两个部分:计算部分+循环部分,for前面的是计算部分,for后面的是循环部分。
语法格式:[ 计算部分 for循环部分] 计算部分:是一个计算表格式,将每一个循环变量带入表达式,计算的结果就是列表的元素值; 循环部分:是一个for var in iterable的循环体,获取可循环的变量值。 下面通过举例来学会使用列表推导式。 # demo1 lst=[i*i for i in range(5)] # [0,1,4,9,16] 循环部分是0-4,计算部分是每个循环值的平方,很好理解吧。 # demo2 lst=[i*i for i in range(10) if i%2==0] # [0, 4, 16, 36, 64] 对于循环部分,可以使用if进行变量过滤 # demo3 lst=[i*i if i%2==0 else i*2 for i in range(10)] # [0, 2, 4, 6, 16, 10, 36, 14, 64, 18] for前面是整个计算部分,只不过是多了一个if...else三元运算符而已列表推导式掌握到这种程度就够用了,不用学习那种炫技的手法,不要写过于复杂的推导式。