【水蓝石】 列表生成式深度理解【未完】·

2020-11-12   521 次阅读


其实还是刚才才知道这个叫列表生成式

现在来看,列表生成式最重要也最本质的一定的东西,就是“展平”

[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]

解释:

  1. 最内侧的for循环在第一个写,第二个(取出元素的)for循环写在后面。依次往后排
  2. if-else写在前面设置条件。对于if 结果写在前面,else结果写在后面
  3. 无论发生什么,在单个生成的列表中一定会展平 ps.除非item就是个列表,但是item是列表就做不到下一个元素能融合到上一个item列表中

lambda

未完待续

与直接for,if的性能比较和底层分析

未完待续

Q.E.D.

知识共享署名-非商业性使用-相同方式共享 4.0 国际许可协议

无论在未来前做什么,未来都会普通的到来