列表推导式
列表生成式的结构是在一个中括号里包含一个表达式,然后是一个for语句,然后是0个或多个for或者if语句。列表表达式可以是任意的,意思是你可以在列表中放入任意类型的对象。
返回结果将是一个新的列表,在这个以if和for语句为上下文的表达式运行完成之后产生。
# 想得到1-10的平方组成的list print([x*x for x in range(1,10)]) # 想得到1-10中为偶数的平方组成的list print([x*x for x in range(1,10) if x %2 ==0]) # 想得到多重嵌套中的数是2的倍数的平方组成的list example2 = [[1,2,3],[4,5,6],[7,8,9],[10]] print([item2*item2 for item1 in example2 for item2 in item1 if item2 %2 ==0]) # 想得到多重嵌套的list中一重嵌套中list长度大于1的list中的数为2的倍数的平方组成的list example4 = [[1,2,3],[4,5,6],[7,8,9],[10]] print([item2*item2 for item1 in example4 if len(item1)>1 for item2 in item1 if item2 %2 ==0]) #想得到嵌套列表中 删除负数的部分,不改变原来的嵌套列表结构 li1 =[ [-1, 2, -3], [4, -5, 6] ] li2 = [ [i for i in list_index if i >0] for list_index in li1 ] print(li2)