您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

在Python中将多维列表转换为一维列表

在Python中将多维列表转换为一维列表

sum使用+运算符将一个序列加在一起。例如sum([1,2,3]) == 6。第二个参数是一个可选的起始值,认为0 sum([1,2,3], 10) == 16

在您的示例中,它确实[] + [1,2] + [3,4]+2个列表连接在一起。因此结果是[1,2,3,4]

空列表是第二个参数,sum因为如上所述,认值是将sum添加为0(即0 + [1,2] + [3,4]),这将导致 不支持+的操作数类型:“ int”和“ list”

这是帮助的相关部分sum

sum(sequence [,start])-> value

返回一个数字序列(非字符串)的总和加上参数“ start”的值(认为0)。

如wallacoloo所言,这 拉平任何多维列表的通用解决方案。由于上述行为,它仅适用于一维列表

有关扁平化1级嵌套的方法,请参阅itertools页面上的以下食谱:

def flatten(listOfLists):
    "Flatten one level of nesting"
    return chain.from_iterable(listOfLists)

请注意,配方返回一个itertools.chain对象(可迭代),而另一个问题的答案返回一个generator对象,因此,list如果您要完整列表而不是对其进行遍历,则需要在调用中包装这两个对象。例如list(flatten(my_list_of_lists))

python 2022/1/1 18:35:29 有530人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶