zoukankan      html  css  js  c++  java
  • python学习笔记1 -- 函数式编程之高阶函数 sorted排序

    python提供了很强大的内置排序函数,妈妈再也不担心我不会写冒泡排序了呀,sorted函数就是这个排序函数,该函数参数准确的说有四个,sorted(参数1,参数2,参数3,参数4)。

    参数1 是需要进行排序的一个list

    参数2(cmp) 比较的函数,可以忽略,python3已经废弃

    参数3(key) 是排序的具体值,这种情况出现在如果序列中的内容是一个元组或者字典啥的,我们可以通过设定指定的排序值来决定根据什么排序,也可以通过指定key的值来依次对list的元素进行处理

    参数4 是降序还是升序控制,默认升序

    练习如下

    假设我们用一组tuple表示学生名字和成绩:

    L = [('Bob', 75), ('Adam', 92), ('Bart', 66), ('Lisa', 88)]

    如果需要根据姓名升序排序,那么可以这么写:
    n = sorted(L, key=lambda x: x[0])
    如果按照成绩降序,可以这么写:
    w1 = sorted(L, key=lambda x: x[1], reverse=True)

    第二个练习,将下面数据用首字母排序
    c = ['Credit', 'Zoo', 'about', 'bob']
    c1 = sorted(c, key=lambda x: x.lower())

    练习中接触到的 str.lower()的作用是将一个字符串的首字母变成大写,通过结合lambda这个匿名函数实现对l中每一个元素的大写转换,然后再排序完成后,通过映射关系还原list并输出


  • 相关阅读:
    Python-迭代器
    Python-if
    Python-赋值
    Python-基础
    Python-元组(tuple),文件
    Python-正则表达式
    Python-字典
    Python-列表
    C结构体之位域(位段)
    SignalTap II应用小实例之触发位置
  • 原文地址:https://www.cnblogs.com/baxiaobin/p/13370963.html
Copyright © 2011-2022 走看看