[表达式 for 变量 in 序列或迭代对象]
列表推导式在逻辑上相当于一个循环,只是形似更加简洁
1.使用列表推导式实现嵌套列表的平铺
list=[[1,2,3],[4,5,6],[7,8,9]]
print(len(list))
print(list[0])
print([j for i in list for j in i])
2.使用列表推导式实现矩阵转置(三种方式)
list=[[1,2,3],[4,5,6],[7,8,9]]
print(len(list))
print(list[0])
print([i[j] for i in list for j in range(3)])
3.字典推导式
strings = ['import','is','with','if','file','exception']
D = {key: val for val,key in enumerate(strings)}
print(D)
4.集合推导式
strings = ['a','is','with','if','file','exception']
print({len(s) for s in strings}) # 有长度相同的会只留一个,这在实际上也非常有用