添加多个列表项更简单?

2024-04-27 03:34:18 发布

您现在位置:Python中文网/ 问答频道 /正文

有没有比我在下面写的代码更简单的方法来汇总列表中的项目?我是新来的,这似乎有点笨拙。你知道吗

n = [3,5,7]
o = [4,10,8]
p = [4,10,5]

lists = [n, o, p]

def sumList(x):
    return sum(x)


def listAdder(y):
    count = 0
    for item in y:
        count += sumList(item)
    return count

print listAdder(lists)

Tags: 项目方法代码in列表forreturndef
3条回答

也可以避免使用列表列表,直接求和:

sum(n+o+p)

您可以在一行中完成,listAdder()与调用sum()相同:

sum(sum(x) for x in lists)

比如:

from itertools import chain

n = [3,5,7]
o = [4,10,8]
p = [4,10,5]

print sum(chain(n, o, p))
# 56

这样可以避免创建不必要的项列表,因为您可以直接将它们传递给chain。。。你知道吗

相关问题 更多 >