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并输出


  • 相关阅读:
    Pascal's Triangle II
    Pascal's Triangle
    Best Time to Buy and Sell Stock II
    Best Time to Buy and Sell Stock
    Populating Next Right Pointers in Each Node
    path sum II
    Path Sum
    [转载]小波时频图
    [转载]小波时频图
    [转载]Hilbert变换及谱分析
  • 原文地址:https://www.cnblogs.com/baxiaobin/p/13370963.html
Copyright © 2011-2022 走看看