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

如何用冒泡排序按数组长度排序多数组并实现Python compare_lengths函数

按数组长度排序的Python函数实现(冒泡排序版)

功能要求

  • 函数定义为 compare_lengths(x, y, z),接收三个数组作为入参
  • 排序规则:按数组长度升序排列,长度相同的数组相对顺序不做强制要求
  • 输出要求:返回排序后的三元组
  • 实现限制:排序逻辑必须使用冒泡排序算法完成

完整代码实现

def compare_lengths(x, y, z):
    # 将三个入参数组存入待排序列表
    sort_list = [x, y, z]
    # 冒泡排序逻辑:n个元素最多进行n-1轮外层循环
    for i in range(len(sort_list) - 1):
        # 内层循环:相邻元素比较,每轮结束后最大元素会沉到末尾
        for j in range(len(sort_list) - 1 - i):
            # 按数组长度比较,前序元素更长则交换位置
            if len(sort_list[j]) > len(sort_list[j+1]):
                sort_list[j], sort_list[j+1] = sort_list[j+1], sort_list[j]
    # 转换为三元组返回
    return tuple(sort_list)

调用示例

方式1:分别传入三个数组变量

x = [1,2,3]
y = [10,20,30,40]
z = [65,32,7]
print(compare_lengths(x, y, z))

输出(两种结果均符合要求):
([1, 2, 3], [65, 32, 7], [10, 20, 30, 40]) 或 ([65, 32, 7], [1, 2, 3], [10, 20, 30, 40])

方式2:传入解包后的数组元组

Array = [1,2,3],[10,20,30,40],[65,32,7]
print(compare_lengths(*Array))

输出结果与方式1一致。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.02 02:18:03