📌  相关文章
📜  Python|查找列表中的所有元素计数

📅  最后修改于: 2022-05-13 01:55:43.728000             🧑  作者: Mango

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