python list排序小结

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()

python list排序小结_第1张图片

你可能感兴趣的:(python)