python 排序之sort

时间:2023-03-09 01:23:09
python 排序之sort
#coding:utf-8

#求列表的第二大值
list_test =[6,2,4,6,1,2,3,4,5]
list_test.sort()
print list_test[-2]
"""""" help(list_test.sort)
"""Help on built-in function sort: sort(...)
L.sort(cmp=None, key=None, reverse=False) -- stable sort *IN PLACE*;
cmp(x, y) -> -1, 0, 1""" #numbers逆序,出现在group中放到前面
numbers = [8,3,1,2,5,4,7,6]
group = [6,3,4,7] def sort_priority(values, group):
"""给values进行逆序,若出在grop组,放在前面"""
def helper(x):
if x in group:
return (0, x)
return (1, x)
values.sort(key=helper, reverse=True) sort_priority(numbers, group)
print numbers
"""[8, 5, 2, 1, 7, 6, 4, 3]""" #按字典中的年龄升序排
dict_test =[{"name":"shihongguang","age":70},{"name":"shihongbo","age":20},{"name":"maodongjiao","age":26}] def sort_dict(values):
"""按字典中的年龄进行排序"""
def helper(x):
return(x["age"],x)
values.sort(key=helper) sort_dict(dict_test)
print dict_test
"""[{'age': 20, 'name': 'shihongbo'}, {'age': 26, 'name': 'maodongjiao'}, {'age': 70, 'name': 'shihongguang'}]"""