Python列表计数元素列表

use*_*165 1 python list

您好我正在尝试计算列表列表中的所有元素.例如

a = [[1,2],[3,4],[10,3,8]]
Run Code Online (Sandbox Code Playgroud)

我想回来:

7
Run Code Online (Sandbox Code Playgroud)

我没有运气就尝试了数量和尺寸.提前致谢.

the*_*eye 8

a = [[1,2],[3,4],[10,3,8]]
print(sum(map(len, a)))
Run Code Online (Sandbox Code Playgroud)

产量

7
Run Code Online (Sandbox Code Playgroud)

这可以写成生成器表达式,就像这样

print(sum(len(item) for item in a))
Run Code Online (Sandbox Code Playgroud)

即使对于多级嵌套列表也能使用的最简单的方法就是这样的

def get_size(current_item):
    if isinstance(current_item, list):
        return sum(get_size(item) for item in current_item)
    else:
        return 1

a = [[1,2],[3,4],[10,3,8],[[1, 2, 3], [2, 3]]]
print get_size(a)    # 12
Run Code Online (Sandbox Code Playgroud)