EML*_*EML 3 python list python-3.x
我最近在python中发现了一个有趣的功能
如果输入:
y=[[1,2],[3,4]]
sum(y,[])
Run Code Online (Sandbox Code Playgroud)
输出为: [1, 2, 3, 4]
有谁知道为什么带有空列表的一系列列表的总和给出y的扁平化版本(即:y的所有子列表都作为一个列表)?
我本来希望输出是串联的:
[1,2],[3,4],[]
谢谢
sum通过迭代执行迭代,并添加每个元素。碰巧的是,使用列表将加法定义为串联。通过将第二个参数(start)设置为[],该函数从一个列表开始,并继续向其添加元素。有效:
sum([[1, 2], [3, 4]], []) == [] + [1, 2] + [3, 4]
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
48 次 |
| 最近记录: |