Python|查找列表中的所有元素计数
获取列表的长度是一个很常见的问题,已经被处理和讨论过很多次,但有时我们需要改进它并找到元素的总数,即包括嵌套列表的元素。让我们尝试获取总数并解决这个特定问题。
方法 #1:使用列表理解 + len()
我们可以使用列表推导来解决这个问题,作为我们可以用来执行这个特定任务的传统循环的潜在速记。我们只是对嵌套列表进行迭代和计数,最后使用 len函数返回累积计数。
# Python3 code to demonstrate
# count of all the elements in list
# Using list comprehension
# initializing list
test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
# printing original list
print("The original list : " + str(test_list))
# using list comprehension
# count of all the elements in list
res = len([ele for sub in test_list for ele in sub])
# print result
print("The total element count in lists is : " + str(res))
输出 :
The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
The total element count in lists is : 9
方法#2:使用chain() + len()
这个特殊问题也可以使用链函数而不是列表推导来解决,在列表推导中,我们使用传统的 len函数来检查长度。
# Python3 code to demonstrate
# count of all the elements in list
# Using chain() + len()
from itertools import chain
# initializing list
test_list = [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
# printing original list
print("The original list : " + str(test_list))
# using chain() + len()
# count of all the elements in list
res = len(list(chain(*test_list)))
# print result
print("The total element count in lists is : " + str(res))
输出 :
The original list : [[1, 4, 5], [7, 3], [4], [46, 7, 3]]
The total element count in lists is : 9