python中涉及到的对象排序
一、列表(list)排序: 1 sort()函数 list对象有sort()内置排序方法。 list.sort(key=None,reverse=False) key:用来指定list中元素以什么形式去参与排序,该参数可以接受一个函数,以函数的返回值进行排序。 reverse:默认false(升序),true为降序。 sort()方法改变的是对象自身,所以元组在排序时要先转换为列表。 2内置函数sorted(): result = sorted(iterable,key=None,reverse=False) iterable:为可迭代对象, key:用来指定可迭代对象中各元素以什么形式参与排序,key可以为一个函数,将会以函数的返回值对元素进行排序, reverse:默认false(升序),true为降序, result:sorted()函数不改变对象本身,它返回的是iterable按照key的排序方式排好之后的对象。 二、字典(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)形式的列表 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |