python中涉及到的对象排序

1、列表(list)排序:函数

  1 sort()函数对象

    list对象有sort()内置排序方法。排序

    list.sort(key=None, reverse=False)get

    key:用来指定list中元素以什么形式去参与排序,该参数能够接受一个函数,以函数的返回值进行排序。it

    reverse:默认false(升序),true为降序。import

    sort()方法改变的是对象自身,因此元组在排序时要先转换为列表。方法

  2内置函数sorted():im

    result = sorted(iterable,key=None,reverse=False)sort

    iterable:为可迭代对象,dict

    key:用来指定可迭代对象中各元素以什么形式参与排序,key能够为一个函数,将会以函数的返回值对元素进行排序,

    reverse:默认false(升序),true为降序,

    result:sorted()函数不改变对象自己,它返回的是iterable按照key的排序方式排好以后的对象。

2、字典(dict)排序:

  1内置函数sorted():

    一下排序中sorted()函数默认reverse=False(降序),若要升序则reverse=True

    字典没有实例排序方法sort()。

    字典排序分为按key排序、按value排序。

    按key排序: key_list = sorted(dict) 默认为按key排序,返回的是排好序的key的列表,

          key_value_tuple_list = sorted(dict.items()) 返回的是元素为元组 (key,value) 形式的列表。

    按value排序:  ①value_list = sorted(dict.values()) 返回的是排好序的value的列表,

            ②def func(item):

              print(itme) #item实际上是个这 (key,value)

               return item[1] #若是这里返回item[0],将会按key进行排序

                key_value_tuple_list = sorted(dict.items(),key=func) 根据func的返回值进行排序,返回的是元素为元组(key,value)形式的列表,各元素以value进行排序。   

             ③from operator import itemgetter 

            key_value_tuple_list  = sorted(dict.items(),key=itemgetter(0)) #itemgetter(0)是key,因此这是以key值进行排序,返回的是元素为元组(key,value)形式的列表

            key_value_tuple_list  = sorted(dict.items(),key=itemgetter(0)) #itemgetter(1)是value,因此这是以value值进行排序,返回的是元素为元组(key,value)形式的列表

相关文章
相关标签/搜索