python list排序小结
def sort1():
"""
基础排序
:return:
"""
list1 = [11, 78, 43, 89, 81, 52]
print(list1)
# 对list1升序排列,此时list1中的数值被修改
print(sorted(list1)) # [11, 43, 52, 78, 81, 89]
# 对list1中的数值反序排列
print(sorted(list1, reverse=True))
def sort2():
"""
带key参数的排序
:return:
"""
person_list = [
('bob', 15),
('alice', 12),
('davidde', 10),
] # 不管列表中的元素是元组、列表还是类对象, 这类排序方式都同样适用
# person_list = [
# ['bob', 15],
# ['alice', 12],
# ['davidde', 10],
# ]
# 采用这种排序方式不会改变原来列表的值, 只是把排序的结果以返回值的方式返回
# 以每个元组第二个值为排序条件, 默认是升序排列, 若要降序排序添加参数reverse=True
sorted_person_list = sorted(person_list, key=lambda person: person[1])
print(person_list) # [('bob', 15), ('alice', 12), ('davidde', 10)]
print(sorted_person_list) # [('davidde', 10), ('alice', 12), ('bob', 15)]
# 以每个元组第一个值为排序条件, 降序排列
sorted_person_list2 = sorted(person_list, key=lambda person: person[0], reverse=True)
print(person_list) # [('bob', 15), ('alice', 12), ('davidde', 10)]
print(sorted_person_list2) # [('davidde', 10), ('bob', 15), ('alice', 12)]
if __name__=="__main__":
sort1()
sort2()