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

嵌套数组的内部子数组独立排序及出现频次统计问题

实现方案

1. 内部子数组独立排序

Python中可以直接通过遍历外层数组,对每个子数组单独执行排序操作,两种常用实现方式如下:

非原地排序(生成新数组,原数组保持不变)

使用列表推导式配合sorted()函数实现:

arr = [[2,5,4,6],[7,3,1,8],[3,9,1,1],[2,4,3,2]]
sorted_arr = [sorted(sub_arr) for sub_arr in arr]
print(sorted_arr)
# 输出结果:[[2,4,5,6],[1,3,7,8],[1,1,3,9],[2,2,3,4]]

原地排序(直接修改原数组)

遍历调用子数组的sort()方法:

arr = [[2,5,4,6],[7,3,1,8],[3,9,1,1],[2,4,3,2]]
for sub_arr in arr:
    sub_arr.sort()
print(arr)
# 输出结果:[[2,4,5,6],[1,3,7,8],[1,1,3,9],[2,2,3,4]]

2. 判断是否存在频次最高的子数组

由于列表类型不可哈希,无法直接作为统计频次的键,因此先将子数组转为元组,再用collections.Counter统计频次即可:

from collections import Counter

# 统计每个子数组的出现次数
sub_counter = Counter(tuple(sub) for sub in sorted_arr)
# 获取最高出现频次
max_freq = max(sub_counter.values())
# 筛选所有最高频次的子数组
most_frequent_subs = [list(k) for k, v in sub_counter.items() if v == max_freq]

# 判断逻辑
if max_freq > 1:
    print(f"存在出现频次最高的子数组,频次为{max_freq},对应子数组:{most_frequent_subs}")
else:
    print("所有子数组仅出现1次,无更高频次的子数组")

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 14:36:00