日常python学习笔记DAY 5—列表推导式
'''
列表推导式的结构是由一对方括号所包含的以下内容:一个表达式,后面跟一个for子句,然后是零个或多个for或if子句。
其结果将是一个新列表,由对表达式依据后面的 for和if子句的内容进行求值计算而得出。
'''
#简单型
list1=[i**2 for i in range(10)]#第一项为列表元素的表达式(赋值),后面都是元素的生成方式。
print(list1)
#简单型类比于
list1 = []
for i in range(10):
i**=2
list1.append(i)
print(list1)
#带判断的列表推导式
list2=[i for i in range(10) if i%2==0]
print(list2)
#类比于
list2=[]
for i in range(10):
if i%2==0:
list2.append(i)
print(list2)
#带嵌套的列表推导式(将矩阵行转列,列转行)
arr=[[1,2,3,4],
[5,6,7,8],
[9,10,11,12]]
list3=[[row[i] for row in arr] for i in range(4)]#python遍历矩阵是一行一行遍历
print(list3)
#类比于
list3=[]
for i in range(4):
res=[]
for row in arr:
res.append(row[i])
list3.append(res)
print(list3)
上述程序运行结果如下: