其实还是刚才才知道这个叫列表生成式
现在来看,列表生成式最重要也最本质的一定的东西,就是“展平”
[if for]结合循环嵌套
例子:
# 双重for循环甚至多重:
c = [['1','2','3'],['3','4','5']]
print([item if item == '1' else 10 for i in c for item in i])
**return: ['1', 10, 10, 10, 10, 10]
解释:
- 最内侧的for循环在第一个写,第二个(取出元素的)for循环写在后面。依次往后排
- if-else写在前面设置条件。对于if 结果写在前面,else结果写在后面
- 无论发生什么,在单个生成的列表中一定会展平 ps.除非item就是个列表,但是item是列表就做不到下一个元素能融合到上一个item列表中
lambda
未完待续
与直接for,if的性能比较和底层分析
未完待续
Q.E.D.
Comments | 0 条评论