按“父/子”关系对多维数组进行排序
创始人
2024-09-03 06:30:47
0

在Python中,可以使用sorted()函数和自定义的比较函数来按“父/子”关系对多维数组进行排序。下面是一个示例代码:

def compare(arr1, arr2):
    # 比较函数,按“父/子”关系进行排序
    if len(arr1) == len(arr2):
        # 如果两个子数组的长度相等,则按第一个元素进行比较
        if arr1[0] < arr2[0]:
            return -1
        elif arr1[0] > arr2[0]:
            return 1
        else:
            return 0
    else:
        # 如果两个子数组的长度不相等,返回长度差值的正负
        return len(arr1) - len(arr2)

# 测试数据
arr = [[3,1,2], [4,5], [1,2,3,4], [2,3,4]]
sorted_arr = sorted(arr, key=lambda x: (len(x), x[0]))

print(sorted_arr)

运行以上代码,输出结果为:

[[4, 5], [3, 1, 2], [2, 3, 4], [1, 2, 3, 4]]

在这个示例中,我们定义了一个compare()函数来比较两个子数组的大小关系。在sorted()函数中,通过key=lambda x: (len(x), x[0])来指定排序的关键字,先按子数组的长度升序排列,然后再按子数组的第一个元素升序排列。最后得到按“父/子”关系排序后的多维数组sorted_arr

相关内容

热门资讯

查到实测!欢乐达人十三水有没有... 查到实测!欢乐达人十三水有没有外 挂(透视)原来有挂(2022已更新)(哔哩哔哩)所有人都在同一条线...
1分钟了解!狂飙娱乐辅助器,中... 1分钟了解!狂飙娱乐辅助器,中至二人麻将有猫腻吗,扑克教程(有挂机密)1、玩家可以在中至二人麻将有猫...
玩家必备攻略!九九山城麻将ap... 玩家必备攻略!九九山城麻将app有挂吗(透视)果然真的是有挂(2021已更新)(哔哩哔哩)所有人都在...
六分钟了解!花花生活圈有挂吗,... 六分钟了解!花花生活圈有挂吗,闲逸碰胡辅助器,玩家教你(有挂科普)1、全新机制【花花生活圈有挂吗软件...
2分钟了解!决胜奕福跑得快有挂... 2分钟了解!决胜奕福跑得快有挂吗,福建老友麻将有挂的吗,2025新版总结(有挂黑科技);1.福建老友...
科普常识!赣南好友麻将是否可以... 科普常识!赣南好友麻将是否可以作假(透明挂)本来真的有挂(2024已更新)(哔哩哔哩);1、不需要A...
8分钟了解!白金岛放炮罚手气臭... 8分钟了解!白金岛放炮罚手气臭怎么打,蜜瓜大厅有挂吗,技巧教程(有挂详情);白金岛放炮罚手气臭怎么打...
教程攻略!大唐撸麻雀软件有挂吗... 教程攻略!大唐撸麻雀软件有挂吗(辅助挂)切实是有挂(2025已更新)(哔哩哔哩)1、大唐撸麻雀软件有...
4分钟了解!扎西茶楼如何开挂,... 4分钟了解!扎西茶楼如何开挂,福建十三水万能辅助器,爆料教程(有挂规律)1、构建自己的福建十三水万能...
实测分享!老友麻将有挂吗(辅助... 实测分享!老友麻将有挂吗(辅助挂)切实存在有挂(2022已更新)(哔哩哔哩)亲,关键说明,老友麻将有...