• python sort、sorted、reverse、reverd的区别


    sort、sorted、reverse、reversed的区别

    !!! error 首先应该区分的是,sort和reverse是列表的一个方法。字符串、元组、字典、集合是没有这两个方法的。而sorted和reversed是python的两个内置函数,并且只有字符串、列表、元组,可以当做参数传入,字典和集合不支持,得到的是一个生成器对象
    !!!

    sort与sorted()

    sort
    只有列表有该方法,直接对原来的列表进行排序,不会产生新列表

    l1 = [12,2,34,54,5,17]
    l1.sort()  #[2, 5, 12, 17, 34, 54]
    l1.sort(reverse=True) #[54, 34, 17, 12, 5, 2]
    print(l1)
    

    sorted()
    不会改变原序列的位置顺序,会得到一个从小到大排序的新列表,想要的到从大到小的直接在序列后面加,reverse=True

    s = "summer"
    res1 = sorted(s)
    print(s)  #summer
    print(res1,type(res1)) #['e', 'm', 'm', 'r', 's', 'u'] <class 'list'>
    
    l = [1,34,65,78,23]
    res2 = sorted(l)
    print(l) #[1, 34, 65, 78, 23]
    print(res2,type(res2)) #[1, 23, 34, 65, 78] <class 'list'>
    
    
    t = (12,34,32,12,4,23)
    res3 = sorted(t)
    print(t) #(12, 34, 32, 12, 4, 23)
    print(res3,type(res3)) #[4, 12, 12, 23, 32, 34] <class 'list'>
    
    d = {"name":"summer","age":"24","sex":"male"}
    res4 = sorted(d)
    print(d) #{'name': 'summer', 'age': '24', 'sex': 'male'}
    print(res4,type(res4))  #['age', 'name', 'sex'] <class 'list'>
    #得到的是按照ASCII的顺序得到的key
    
    st = {12,3,4,5}
    res5 = sorted(st)
    print(st) #{5, 3, 12, 4}
    print(res5,typ
    
    
    
    sorted()与匿名函数配合使用
    l2 = [(1,1000),(2,18),(4,250),(3,500)]
    print(sorted(l2,key=lambda k:k[1]))
    print(sorted(l2,key=lambda k:k[1],reverse=True))
    
    [(2, 18), (4, 250), (3, 500), (1, 1000)]
    [(1, 1000), (3, 500), (4, 250), (2, 18)]
    

    reverse与reveresd()

    reverse
    只有列表有该方法,直接对原来的列表进行反转

    l1 = [1,2,10,7,5]
    res = l1.reverse()
    print(res)  #None
    print(l1) #[5, 7, 10, 2, 1]
    

    reversed()
    只有字符串、列表、元组,可以当做参数传入,字典和集合不支持,得到的是一个生成器对象,不会对原来的序列有影响

    s = "summer"
    res1 = reversed(s)
    print(res1) #<reversed object at 0x101b60668>
    print(list(res1)) #['r', 'e', 'm', 'm', 'u', 's']
    print(s) #summer
    
    l = [1,34,65,78,23]
    res2 = reversed(l)
    print(res2) #<list_reverseiterator object at 0x101a60710>
    print(list(res2)) #[1, 34, 65, 78, 23]
    print(l) #[1, 34, 65, 78, 23]
    
    t = (12,34,32,12,4,23)
    res3 = reversed(t)
    print(res3) #<reversed object at 0x101a9a908>
    print(list(res3)) #[23, 4, 12, 32, 34, 12]
    print(t) #(12, 34, 32, 12, 4, 23)
    
  • 相关阅读:
    延迟加载和缓存
    动态SQL
    Mybatis框架模糊查询+多条件查询
    mybatis增删改
    初始mybatis(二)
    Struts2框架和SpringMvc框架的区别
    MyBatis框架与Hibernate 框架的区别
    初始mybatis
    Servlet
    find命令使用
  • 原文地址:https://www.cnblogs.com/xiayuhao/p/9517516.html
Copyright © 2020-2023  润新知