【发布时间】:2016-05-19 12:05:26
【问题描述】:
我想总结一个嵌套列表中的列表总数。
datalist = [['a', 'b', 'c', 'a'], [['b', 'd', 'a', 'c'], ['a', 'a', 'a', 'b']], ['a', 'b', 'g', 'h'], [['x', 'z', 'c', 'c'], ['b', 'c', 'b', 'a']]]
列表总和为 6
方法 1
给我 4 个
print sum(1 for x in datalist if isinstance(x, list))
# 4
方法 2
给我 8 个
def count_list(l):
count = 0
for e in l:
if isinstance(e, list):
count = count + 1 + count_list(e)
return count
print count_list(datalist)
#8
如何总结列表的数量?
【问题讨论】:
-
因为您确实有四个列表。不过,其中两个列表本身包含列表。
-
两个
lists 在一个list中仍然算作1。您可以编写一个递归方法来计算内部列表。 -
有嵌套列表。也可以有多层嵌套吗?
-
也许使用
pprint.pprint(datalist)来查看嵌套层。 -
这不应被标记为重复。市场重复的帖子没有为 OP 的问题提供所需的解决方案。