You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python统计数组元素出现次数并生成指定格式输出的实现方案

数组元素频次与值的交替列表生成方案

方法一:使用collections.Counter(推荐,效率更高)

Python标准库的Counter可以一键统计数组中各元素的出现次数,且Python 3.7及以上版本会保留元素的插入顺序,完全匹配你的需求:

from collections import Counter

input_arr = [15, 15, 15, 4, 4, 4, 4, 4, 4]
element_counts = Counter(input_arr)
output_list = []

# 遍历统计结果,依次将频次、元素值加入结果列表
for value, count in element_counts.items():
    output_list.append(count)
    output_list.append(value)

print(output_list)  # 输出: [3, 15, 6, 4]

方法二:手动统计(适合理解底层逻辑)

如果想自己实现统计逻辑,可以用集合记录已处理过的元素,避免重复计算:

input_arr = [15, 15, 15, 4, 4, 4, 4, 4, 4]
output_list = []
processed_elements = set()

for num in input_arr:
    if num not in processed_elements:
        # 统计当前元素的出现次数
        freq = input_arr.count(num)
        output_list.extend([freq, num])
        processed_elements.add(num)

print(output_list)  # 输出: [3, 15, 6, 4]

注意事项

  • 方法一的Counter仅需遍历数组一次,处理大型数组时性能远优于方法二(方法二的count每次都会重新遍历数组)。
  • 若使用Python 3.6及以下版本,Counter不会保留插入顺序,此时可改用OrderedDict配合遍历实现顺序保留,或直接使用方法二。

内容的提问来源于stack exchange,提问作者Guhan Gnanam

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 18:10:47