当前位置: 首页 > 面试题库 >

如何使用sum(iterable,[])展平嵌套列表?[重复]

邵璞
2023-03-14
问题内容

这个问题已经在这里有了答案

内置函数sum对sum(list,[])有什么作用? (3个答案)

2年前关闭。

我正在使用python 3.6。我遇到了以下使用以下方法来平铺嵌套列表的方法sum

a = [[1, 2], [3, 4], [5, 6]]

sum(a,[])

返回:

[1,2,3,4,5,6]

这到底是怎么回事?Sum需要一个可迭代的对象(在这种情况下为列表)和一个起始值。我不明白python读取什么来弄平列表。


问题答案:

这仅仅是Python解释列表添加的结果。来自文档

sum(iterable[, start])

总和从左到右依次迭代一个项目,并返回总计。

由于sum首先将iterable的第一个元素添加到start参数中,因此您具有:

[] + [1, 2] = [1, 2]

然后,它继续从迭代中添加项目:

[1, 2] + [3, 4] = [1, 2, 3, 4]
[1, 2, 3, 4] + [5, 6] = [1, 2, 3, 4, 5, 6]


 类似资料:
  • 我有一个这样的结构: 和看起来像这样 这不是最好的设计-我知道,但我没有能力改变这个设计。 我正在尝试找到一种方法,将此结构扁平化为单个,并找到一个itemTag 但这仅搜索项目列表的一个级别。如果我想更深入,我可以简单地做: 这很好。但我正试图找到一种更具可扩展性的方法来实现这一点,它可以像嵌套列表一样深入。有没有有效的方法来做到这一点?

  • 问题内容: 我是一名编程新手,在理解python教科书(Magnus Lie Hetland的“ Beginning Python”)中的示例时遇到了一些麻烦。该示例针对的是递归生成器,该生成器旨在展平嵌套列表的元素(具有任意深度): 然后,您将输入嵌套列表,如下所示: 我了解flatten()中的递归如何帮助缩小到此列表的最内层元素“ 1”,但是我不明白的是当“ 1”实际上作为“嵌套”传递回fl

  • 问题内容: 我想拉平一个嵌套的JSON对象,如以为了消化它Solr中。 我有11 TB的json文件,这些文件既嵌套又包含字段名称中的点,这意味着elasticsearch(点)或solr(嵌套时不带符号)都不能按原样消化它。 其他解决方案是用下划线替换字段名称中的点并将其推送到elasticsearch,但是我对solr有更好的经验,因此我更喜欢扁平化解决方案(除非solr可以按原样消化那些嵌套

  • 问题内容: 也许有人可以帮助我。我试图将以下ist放到pandas数据框中: 结果应如下所示: 但是我尝试做的所有事情都无法获得预期的结果。我用了这样的东西: 但是然后我松开了_source字段之外的类型。我也尝试与 但是我不知道如何使用字段_source并将其附加到原始数据帧。 有人知道如何做到这一点并达到预期的结果吗? 问题答案: 用途:

  • 本文向大家介绍如何使用LINQ C#展平列表?,包括了如何使用LINQ C#展平列表?的使用技巧和注意事项,需要的朋友参考一下 展平列表意味着将List <List <T >>转换为List <T>。例如,让我们考虑一个List <List <int >>,它需要转换为List <int>。 LINQ中的SelectMany用于将序列的每个元素投影到IEnumerable <T>,然后将所得序列展

  • 使用JSF 2.0,我需要显示一个表,其中每一行都包含一个打开弹出窗口的链接。我有两种型号:

  • < code>[[{header=C,value=dsd},{header=D,value=test},{header=E,value=e},{header=F,value=hhh},{header=G,value=ghgh}]] 上面是JsonLists数组的数组,我需要将外部数组扁平化为JsonLists的内部数组。 我最终也只会从JsonList中获取值,并将这些值放入它自己的单独数组中:

  • 问题内容: 如我们所知,通过使用方法将数组展平 那么如何将此数组展平到? 问题答案: 这是递归的一种替代方法,并且应接受任何深度级别,以避免堆栈溢出。