gpt4 book ai didi

python - 如何获得任意嵌套的列表列表中的元素总数?

转载 作者:太空狗 更新时间:2023-10-29 18:14:19 26 4
gpt4 key购买 nike

我有一个列表分配给变量 my_listmy_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

我希望这不仅适用于数字,也适用于字符串。

最佳答案

此函数计算列表的长度,将除列表以外的任何对象都计为长度 1,并递归列表项以找到展平的长度,并将处理任何程度的嵌套,直至解释器的最大堆栈深度。

def recursive_len(item):
if type(item) == list:
return sum(recursive_len(subitem) for subitem in item)
else:
return 1

注意:根据使用方式的不同,为了正确判断元组的大小,最好检查项是否可迭代而不是检查它是否具有类型 list等。但是,检查对象是否可迭代会产生副作用,即计算字符串中的每个字符,而不是将字符串长度设为 1,这可能是不可取的。

关于python - 如何获得任意嵌套的列表列表中的元素总数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27761463/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com