Python实现的列表排序、反转操作示例

yipeiwu_com6年前Python基础

本文实例讲述了Python实现的列表排序、反转操作。分享给大家供大家参考,具体如下:

排序:

使用sorted方法和列表的sort方法:

sorted方法适用范围更广,sort方法只有列表有。

li = [{'a':'23'}, {'a':'12'}]
def sort_fun(mp):
  s = mp['a']
  return int(s)
print(sorted(li, key = sort_fun, reverse = True)) #这会返回一个排好序的列表,原列表不变。
print(li.sort(key = sort_fun, reverse = True)) # 返回None,原列表变为排好序的。

运行结果:

[{'a': '23'}, {'a': '12'}]
None

  • key参数指示按照什么排序,是一个函数,函数的输入为要排序列表的项,输出为可排序的数据类型。
  • reverse参数指示排序方式,默认是False,也就是从小到大排序。

反转:

将原列表反转,返回None:

li = [1, 2, 3]
li.reverse()
print(li)
# [3, 2, 1]

不改变原列表,返回反转后的新列表:

li = [1, 2, 3]
li2 = li[::-1]
print(li)
print(li2)
# [1, 2, 3]
# [3, 2, 1]

PS:这里再为大家推荐一款关于排序的演示工具供大家参考:

在线动画演示插入/选择/冒泡/归并/希尔/快速排序算法过程工具:
http://tools.jb51.net/aideddesign/paixu_ys

更多关于Python相关内容感兴趣的读者可查看本站专题:《Python数据结构与算法教程》、《Python列表(list)操作技巧总结》、《Python编码操作技巧总结》、《Python函数使用技巧总结》、《Python字符串操作技巧汇总》及《Python入门与进阶经典教程

希望本文所述对大家Python程序设计有所帮助。

相关文章

Django ORM 自定义 char 类型字段解析

Django ORM 自定义 char 类型字段解析

用 CharField 定义的字段在数据库中存放为 verchar 类型 自定义 char 类型字段需要下面的代码: class FixedCharField(models.Fie...

python查看模块,对象的函数方法

python查看模块,对象的函数方法

这段时间在用libev的python版本事件模型,总共只有一个py.so文件,没有.py文件查看源码查看接口,最开始用shell命令直接查看.so的接口不尽人意。然后发现python提供...

Python使用cx_Oracle模块操作Oracle数据库详解

本文实例讲述了Python使用cx_Oracle模块操作Oracle数据库。分享给大家供大家参考,具体如下: ORACLE_SID参数,这个参数是操作系统中用到的,它是描述我们要默认连接...

Python多线程及其基本使用方法实例分析

本文实例讲述了Python多线程及其基本使用方法。分享给大家供大家参考,具体如下: 学习Python的多线程(Multi-threading),至少应该要有进程与线程的基本概念,可以参考...

利用Celery实现Django博客PV统计功能详解

前言 前几天给网站的文章增加了pv统计,之前只有uv统计。之前没加pv统计是觉得每个用户每访问一次文章,我都需要做一次数据库写操作实在是有损性能,毕竟从用户在the5fire博客的的一...