Python学习十五:sorted()

sorted()是Python内置的一个高阶函数,可以实现对list的排序,它还可以接收一个比较函数来实现自定义的排序。

现在有一个list : [36, 5, 12, 9, 21]

我们分别对这个list进行如下操作:

1、对list进行排序,使用sorted直接排序即可:

print sorted([36, 5, 12, 9, 21])

2、对list进行倒序排序,可以自定一个方法:

def reversed_cmp(x, y):
    if x > y:
        return -1
    if x < y:
        return 1
    return 0

print sorted([36, 5, 12, 9, 21], reversed_cmp)

3、有一个字符串,忽略大小写然后进行排序:[‘bob’, ‘about’, ‘Zoo’, ‘Credit’] ,也可以自定义一个方法:

def cmp_ignore_case(s1, s2):
    u1 = s1.upper()
    u2 = s2.upper()
    if u1 < u2:
        return -1
    if u1 > u2:
        return 1
    return 0

print sorted([‘bob‘, ‘about‘, ‘Zoo‘, ‘Credit‘], cmp_ignore_case)

学习教程链接:

1、廖雪峰官网

版权声明:本文为博主原创文章,未经博主允许不得转载。

时间: 2024-10-06 07:57:42

Python学习十五:sorted()的相关文章

python学习十五天

内置函数二 1.lamda匿名函数 2. sorted() 3. filter() 4. map() 5. 递归函数 一. lamda匿名函数 为了解决一些简单的需求而设计的一句话函数 # 计算n的n次方 def func(n): eturn n**n print(func(10)) f = lambda n: n**n print(f(10)) lambda表示的是匿匿名函数. 不需要用def来声明, 一句句话就可以声明出一个函数 语法: 函数名 = lambda 参数: 返回值 注意: 1.

Python学习(十五)--生成器

生成器是一种用普通的函数语法定义的迭代器.任何包含yield语句的函数称为生成器.生成器在每次调用next()的时候执行,遇到yield语句返回,再次执行时就从上次返回的yield语句处继续执行.但是我们创建一个生成器以后,基本上不会调用next()方法,而是通过for循环来迭代它. nested = [[1,2],[3,4],[5]] def flatten(nested): for sublist in nested: for element in sublist: yield elemen

Oracle学习(十五):分布式数据库

--分布式数据库的独立性:分布数据的独立性指用户不必关心数据如何分割和存储,只需关心他需要什么数据. --本地操作 SQL> sqlplus scott/tiger --远程操作 SQL> sqlplus scott/[email protected]:1521/orcl --分布式操作 SQL> --创建数据库链路l2(需要权限): SQL> --remoteorcl服务命名(在net manager里配置):配置跟远程服务器的数据库的连接协议.主机名(ip地址).端口号等 SQ

python学习第五天 - for...in...循环

for..in语句是另一个循环语句,它迭代一个对象的序列,例如经历序列中的第一项.在后面的章节,我们将会看到更多关于序列的细节.现在,你需要知道的是一个序列只是一个有序的项目的集合. 例如 (保存为 for.py): for i in range(1,5): print(i) else: print('for循环结束') >>> ================================ RESTART ================================ >&g

python第十五天

python第十五天 今日内容 常用模块的介绍: time,datetime os,sys hashlib,json,pickle,collections time:和时间相关 封装了获取时间戳和字符串形式的时间的一些方法. time.time():获取时间戳 time.gmtime([seconds]):获取格式化时间对象:是九个字段组成的 time.localtime([seconds]):获取格式化时间对象:是九个字段组成的 time.mktime(t):时间对象 -> 时间戳 time.

CSS基础学习十五:盒子模型补充之外边距合并

今天继续接着CSS盒子模型补充,CSS基础学习十三:盒子模型和CSS基础学习十四:盒子模型补充之display属 性设置都是介绍了盒子模型中的内容概括.开始今天的主题:外边距合并. 外边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的外边距的高度等于两个发生合 并的外边距的高度中的较大者. (1)外边距合并 外边距合并叠加是一个相当简单的概念.但是,在实践中对网页进行布局时,它会造成许多混淆.简单地说,外 边距合并指的是,当两个垂直外边距相遇时,它们将形成一个外边距.合并后的

Python爬虫(十五)_案例:使用bs4的爬虫

本章将从Python案例讲起:所使用bs4做一个简单的爬虫案例,更多内容请参考:Python学习指南 案例:使用BeautifulSoup的爬虫 我们已腾讯社招页面来做演示:http://hr.tencent.com/position.php?&start=10#a 使用BeautifulSoup4解析器,将招聘网页上的职位名称.职位类别.招聘人数.工作地点.时间.以及每个职位详情的点击链接存储出来. #-*- coding:utf-8 -*- from bs4 import Beautiful

流畅的python第十五章上下文管理器和else块学习记录

with 语句和上下文管理器for.while 和 try 语句的 else 子句 with 语句会设置一个临时的上下文,交给上下文管理器对象控制,并且负责清理上下文.这么做能避免错误并减少样板代码,因此 API 更安全,而且更易于使用.除了自动关闭文件之外,with 块还有很多用途 else 子句不仅能在 if 语句中使用,还能在 for.while 和 try 语句中使用 for 仅当 for 循环运行完毕时(即 for 循环没有被 break 语句中止)才运行 else 块.while 仅

python学习第五十四天:作用域对象与运用技巧

1. JS作用域 1.1 全局作用域和局部作用域 函数外面声明的就是 全局作用域 函数内是局部作用域 全局变量可以直接在函数内修改和使用 变量,使用var是声明,没有var是使用变量. 如果在函数内使用var来声明变量,在函数内会覆盖同名的全局变量 1.2 变量提升 在变量声明之前 去使用变量 会得到 undefined ,而不是报错 函数内,如果声明了跟全局变量同名的局部变量, 在声明之前使用改变量,得到undefined( 该变量已经是局部的啦) 1.3 作用域链 当一个作用域 使用某个变量