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

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值