如何在python中获取锯齿状数组的长度

Man*_*dar 5 python arrays list

我试图获取我的列表中从SQLAlchemy命令更新的项目总数,它是一个像这样的锯齿状数组..

list = [['linux'], ['ML'], ['linux', 'ML', 'Data Science', 'GIT'],['linux', 'Data Science', 'GIT'], ['GIT'], ['ML', 'GIT'], ['linux'], ['linux'], ['linux'], ['Data Science']]
length = len(list)
Run Code Online (Sandbox Code Playgroud)

我得到的输出为:10

我如何获得长度:16?这是列表中的项目总数吗?

cs9*_*s95 3

不要使用list,已经有一个具有该名称的内置函数。我假设你的意思是“lst”。

如果您的列表很小,请使用

>>> len(sum(lst, []))
16
Run Code Online (Sandbox Code Playgroud)

不建议用于大型列表,因为列表串联 的sum时间是二次的。然而,这确实很简洁,所以对于小输入要重新考虑。

如果您的列表很大(或有很多元素),请使用

>>> sum(len(l) for l in lst)
16
Run Code Online (Sandbox Code Playgroud)