如何找到多维列表的长度?

2024-10-17 06:19:09 发布

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

你如何找到多维列表的长度?

我自己也想出了一个方法,但这是在多维列表中找到值个数的唯一方法吗?

multilist = [['1', '2', 'Ham', '4'], ['5', 'ABCD', 'Foo'], ['Bar', 'Lu', 'Shou']]
counter = 0
for minilist in multilist:
    for value in minilist:
        counter += 1

print(counter)

我很确定有一种更简单的方法可以找到多维列表的长度,但是len(list)不起作用,因为它只给出了内部列表的数量。有比这更有效的方法吗?


Tags: 方法in列表forfoovaluecounterbar
3条回答

如果需要任何n维列表中的项数,则需要使用如下递归函数:

def List_Amount(List):
    return _List_Amount(List)
def _List_Amount(List):
    counter = 0
    if isinstance(List, list):
        for l in List:
            c = _List_Amount(l)
            counter+=c
        return counter
    else:
        return 1

这将返回列表中的项目数,无论列表的形状或大小

替代@mgilson的解决方案

sum(map(len, multilist))

怎么样:

sum(len(x) for x in multilist)

相关问题 更多 >