【发布时间】:2015-03-01 22:11:09
【问题描述】:
我有一个分配给变量my_list 的列表。 my_list 的值为[[1,2,3],[3,5,[2,3]], [[3,2],[5,[4]]]]。我需要找到 my_list 的长度,但 len(my_list) 只返回 3。我希望它返回 11。是否有任何 Python 函数可以返回 my_list 嵌套列表的完整长度等等。
例子:
Input
[[1,2,3],[3,5,[2,3]], [[3,2],[5,[4]]]]
Output
11
我希望这不仅适用于数字,也适用于字符串。
【问题讨论】:
-
这应该是一个规则。我们在谈论多少“嵌套”?
-
您希望它与可能包含字符串的嵌套列表一起使用,还是列表只包含数字?
-
@michaelpri 那么你的问题有点误导,“找到所有嵌套列表的长度?”
-
这是一个展平任意嵌套列表的好函数:stackoverflow.com/a/2158532/4014959。使用它来展平您的嵌套列表,然后您只需要获取展平列表的
len()。 -
@RusI 通常,在您运行生成器之前,您不知道生成器会生成多少项目,并且有些生成器永远不会停止生成项目。如果您有一个知道大小有限的生成器,您可以从中生成一个列表,然后在该列表上调用
len()。例如,len(list(flatten(deep_nested_list)))
标签: python list python-2.7 nested-lists