为了账号安全,请及时绑定邮箱和手机立即绑定

二维数组的python总和如何返回列表

二维数组的python总和如何返回列表

开满天机 2023-02-07 11:02:05
我遇到了一段 python 代码,其中二维数组的求和函数计算为一个列表。例如:a = [['a','b','c'],['d','e','f'],['g','h','i']]]sum(a,[])回报['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']为什么会这样?也许我缺少一些基本的东西,但想了解它的机制。
查看完整描述

2 回答

?
呼唤远方

TA贡献1856条经验 获得超11个赞

sum(iterable, /, start=0):

Sums 从左到右开始和 iterable 的项目并返回总数

所以对于你的代码,由产生的操作sum

[] + ['a','b','c'] + ['d','e','f'] + ['g','h','i']

这是一个列表串联,并产生:

['a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i']

请注意,如果您不提供 的start[],则 sum 使用默认start0并执行:

0 + ['a','b','c'] + ['d','e','f'] + ['g','h','i']

结果是TypeError

类型错误:+ 不支持的操作数类型:'int' 和 'list'


查看完整回答
反对 回复 2023-02-07
?
aluckdog

TA贡献1847条经验 获得超7个赞

希望你能像这里一样简单理解

a = [['a','b','c'],['d','e','f'],['g','h','i']]

它是这样做的如下:

result = []
for list in a:
    result += list

现在返回结果列表:

print(result)

我还通知你上面的方法是快速的 sum(a, []) 方法

Sum 函数不是那样工作的,但你可以很容易地理解它是如何工作的


查看完整回答
反对 回复 2023-02-07
  • 2 回答
  • 0 关注
  • 82 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信