zoukankan      html  css  js  c++  java
  • python、js、php区别---8、排序

    python、js、php区别---8、排序

    一、总结

    一句话总结:

    python中的排序函数有sort(对列表排序)和sorted(对所有可迭代序列排序),可以通过reverse参数指定倒序排序,key参数指定排序字段
    js中的排序就是sort方法,可以指定排序函数来进行排序
    php中有usort方法来指定排序函数进行排序,也有sort、rsort、ksort、krsort等方法按照指定规则排序

    二、排序

    博客对应课程的视频位置:

    8、排序(一)
    https://www.fanrenyi.com/video/33/303

    8、排序(二)
    https://www.fanrenyi.com/video/33/304

    1、python

    """
    
    1、list的sort方法
    2、全局sorted()方法来对可迭代的序列排序生成新的序列
    
    """
    
    # 1、list的sort方法
    
    # a、sort升序排列
    # list1=[43,54,12,3,1,435]
    # list1.sort()
    # print(list1)
    
    # b、sort降序排列
    # list1=[43,54,12,3,1,435]
    # list1.sort(reverse=True)
    # print(list1)
    
    # c、对元组列表进行排序,指定按照元组的第二个元素排序
    
    # # 获取列表的第二个元素
    # def takeSecond(elem):
    #     return elem[1]
    # random = [(2, 2), (3, 4), (4, 1), (1, 3)]
    # # 指定第二个元素排序
    # random.sort(key=takeSecond)
    # print (random)
    
    
    # 2、全局sorted()方法来对可迭代的序列排序生成新的序列
    
    # a、正序
    # list1=[43,54,12,3,1,435]
    # ans=sorted(list1)
    # print(list1)
    # print(ans)
    
    # b、倒序
    # list1=[43,54,12,3,1,435]
    # ans=sorted(list1,reverse=True)
    # print(list1)
    # print(ans)
    
    
    # c、利用key,指定对哪个字段进行排序
    # students = [
    #     ('john', 'A', 15), 
    #     ('jane', 'B', 12), 
    #     ('dave', 'B', 18)]
    # ans = sorted(students, key=lambda s: s[2], reverse=True) # 按年龄倒序排序
    # print(ans)
    
    # d、对字典排序
    # dict1={'a':1,'c':3,'b':2}
    # ans = sorted(dict1)
    # print(ans) #['a', 'b', 'c']
    
    
    # dict1={'a':1,'c':3,'b':2}    
    # print(dict1.items())
    # # dict1.items()返回的是: dict_items([('a', 1), ('c', 3), ('b', 2)])
    # ans=sorted(dict1.items(),key=lambda x:x[1])  
    # # 按字典集合中,每一个元组的第二个元素排列。                                                      # x相当于字典集合中遍历出来的一个元组。
    # print(ans)
    # # 得到:  [('a', 1), ('b', 2), ('c', 3)]
    # print(dict(ans))
    # # 得到:  {'a': 1, 'b': 2, 'c': 3}

    2、js

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <title>Document</title>
    </head>
    <body>
        <script>
            /*
            1、对索引数组排序
            2、对关联数组排序
            3、对对象数组排序
            */
            // 1、对索引数组排序
            // sort方法默认是按照unicode编码进行排序,而不是按照数字进行排序
            // let arr=[34,511,1,3,64,8];
            // arr.sort(function(a,b){
            //     return a-b;
            // });
            // console.log(arr);
            
            // 1.2、倒序
            // let arr=[34,511,1,3,64,8];
            // arr.sort(function(a,b){
            //     return b-a;
            // });
            // console.log(arr);
    
            // 2、对关联数组排序
            // let arr=[34,511,1,3,64,8];
            // arr["a"]=18;
            // arr["b"]=29;
            // console.log(arr);
            // //[34, 511, 1, 3, 64, 8, a: 18, b: 29]
            // arr.sort(function(a,b){
            //     return b-a;
            // });
            // console.log(arr);
            // //[511, 64, 34, 8, 3, 1, a: 18, b: 29]
            // //索引数组的位置排好了,关联数组的位置没有
    
            // 3、对对象数组排序,对对象里面的元素按照年纪排序
            // let objArr=[
            //     {name:'aaa',age:28},
            //     {name:'ccc',age:1},
            //     {name:'ddd',age:5},
            //     {name:'bbb',age:3},
            // ];
            // console.log(objArr);
            // objArr.sort(function(a,b){
            //     return a.age-b.age;
            // });
            // console.log(objArr);
    
    
        </script>
    </body>
    </html>

    3、php

    <?php 
    /*
    1、排序索引数组
    2、排序关联数组
    3、排序多维数组
    */
    // 1、排序索引数组
    // $arr=[34,511,1,3,64,8];
    // print_r($arr);
    // sort($arr);
    // print_r($arr);
    // rsort($arr);
    // print_r($arr);
    
    // 2、排序关联数组
    // $arr=[1=>34,23=>511,15=>1,"a"=>3,64,"k"=>8];
    // print_r($arr);
    // sort($arr);
    // print_r($arr);
    // rsort($arr);
    // print_r($arr);
    // echo "------------------------
    ";
    // ksort($arr);
    // print_r($arr);
    // krsort($arr);
    // print_r($arr);
    
    // 3、排序多维数组
    // $arr=[
    //     ["name"=>"dd","age"=>11],
    //     ["name"=>"aa","age"=>23],
    //     ["name"=>"cc","age"=>89],
    //     ["name"=>"bb","age"=>5]
    // ];
    // print_r($arr);
    // sort($arr);
    // print_r($arr);
    
    // 按age排序
    // function cmp($a,$b){
    //     return $a["age"]-$b["age"];
    // };
    // usort($arr, 'cmp');
    // print_r($arr);
    
    ?>
     
    我的旨在学过的东西不再忘记(主要使用艾宾浩斯遗忘曲线算法及其它智能学习复习算法)的偏公益性质的完全免费的编程视频学习网站: fanrenyi.com;有各种前端、后端、算法、大数据、人工智能等课程。
    博主25岁,前端后端算法大数据人工智能都有兴趣。
    大家有啥都可以加博主联系方式(qq404006308,微信fan404006308)互相交流。工作、生活、心境,可以互相启迪。
    聊技术,交朋友,修心境,qq404006308,微信fan404006308
    26岁,真心找女朋友,非诚勿扰,微信fan404006308,qq404006308
    人工智能群:939687837

    作者相关推荐

  • 相关阅读:
    [转] 程序集和Dll的区别
    [转载] 节选自:2005年件我的第一次软件行业创业,烧掉30万、2年时间打水漂的惨痛教训总结
    [分享]屏幕取色工具
    LINQ学习笔记
    XP系统 mscorsvw.exe进程 占CPU资源 开机加载网络连接很慢 解决方法
    [原创] ASP.NET中事件执行顺序
    CHARINDEX, INSTR
    [转载]如何为自己的网站设置二级域名?
    [转载] System.Threading.Timer类的TimerCallback 委托
    [转载]ASP.NET 2.0 页面事件执行顺序
  • 原文地址:https://www.cnblogs.com/Renyi-Fan/p/13180059.html
Copyright © 2011-2022 走看看