java数组排序-创新互联

假设有 number,group,两个数组,其中的元素都是数字,现在要对其排序排序的规则如下:

创新互联专注于企业网络营销推广、网站重做改版、靖江网站定制设计、自适应品牌网站建设、H5页面制作商城开发、集团公司官网建设、成都外贸网站建设、高端网站制作、响应式网页设计等建站业务,价格优惠性价比高,为靖江等各大城市提供网站开发制作服务。

1.如果 group里面元素,存在于numbers了里面

2.要把出现在 group 内的数字 放在 number 的那些数字之前,注意排序

numbers = [8, 3 ,1, 2, 5,4,7,6]

group = {2,3,5,7}

分析了下,应该是优先级的问题,这里使用了元组排序的方法:

numbers = [8, 3 ,1, 2, 5,4,7,6]
group = {2,3,5,7}
tmp = []
for x in numbers:
   if x in group:
     tmp.append((0, x))
   else:
     tmp.append((1, x))
tmp.sort()
print(list(map(lambda x:x[1], tmp)))

在网上看到了一个经典的代码:

def sort_priority(values,group):
   def helper(x):
     if x in group:
       return (0, x)
     return (1, x)
   values.sort(key=helper)

numbers = [8, 3 ,1, 2, 5,4,7,6]

group = {2,3,5,7}
sort_priority(numbers, group)
print(numbers)

推荐使用第二个高阶函数的方法

另外有需要云服务器可以了解下创新互联cdcxhl.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。


网站题目:java数组排序-创新互联
网站URL:http://bzwzjz.com/article/docpjc.html

其他资讯

Copyright © 2007-2020 广东宝晨空调科技有限公司 All Rights Reserved 粤ICP备2022107769号
友情链接: 成都网站设计公司 成都定制网站建设 成都网站建设 成都网站制作公司 成都模版网站建设 响应式网站建设 成都网站设计 营销网站建设 网站设计公司 重庆网站建设 企业网站建设公司 网站设计 成都网站建设 古蔺网站建设 定制网站建设 成都商城网站制作 达州网站设计 成都网站设计 阿坝网站设计 企业网站设计 网站制作报价 重庆网站建设