Python中不使用循环统计嵌套列表元素的出现频次
嵌套列表元素出现次数统计(无循环实现)
可以利用Python标准库中的itertools.chain和collections.Counter来实现,全程无需手动编写循环:
- 导入所需模块:
from itertools import chain from collections import Counter
- 定义示例嵌套列表:
a = [[3,2,5,6],[2,5,1,20],[7,3,16,5]]
- 扁平化列表并统计元素出现次数:
# 用chain.from_iterable自动展开嵌套列表,生成包含所有元素的迭代器 flattened_elements = chain.from_iterable(a) # 用Counter完成元素计数 count_result = Counter(flattened_elements)
- 输出目标结果:
print(f"3->{count_result[3]}次;1->{count_result[1]}次;5->{count_result[5]}次")
补充说明
chain.from_iterable(a)会自动遍历嵌套列表里的每个子列表,把所有元素整合为连续的迭代器,替代了手动写循环展开列表的操作。Counter是Python内置的计数工具类,内部封装了完整的计数逻辑,无需手动写循环去累加元素出现次数。
内容的提问来源于stack exchange,提问作者ting_H
相关产品推荐
相关产品推荐

