对列表进行排序是常见的操作,最简单的方式是使用sort()函数。

1、一般用法

不管列表元素是数、字符串还是元组,函数sort()总是就地操作列表,按升序进行排列元素,并返回None。

#数
>>> lst1 = [1, 5, 3, 2]
>>> lst1.sort()
>>> lst1
[1, 2, 3, 5]
#字符串
>>> lst2 = ['up', 'down', 'left', 'right']
>>> lst2.sort()
>>> lst2
['down', 'left', 'right', 'up']
#元组
>>> lst3 = [(1, -1), (3, 5), (2, 1), (1, 2)]
>>> lst3.sort()
>>> lst3
[(1, -1), (1, 2), (2, 1), (3, 5)]

若想实现降序排列,可直接在调用sort()后再调用reverse()函数,或者使用reverse选项sort(reverse = True)。

2、使用key

使用sort()函数中的次要排序键,产生可用于排序的值的函数,即定义了排序的规则。如根据字符串的长度进行排序。

>>> lst2 = ['up', 'down', 'left', 'right']
>>> lst2.sort(key = len)
>>> lst2
['up', 'down', 'left', 'right']

也可以传入lamdba函数。如根据各字符串不同字母的数量进行排序。

>>> strs = [ 'foo', 'card', 'bar', 'aaaa', 'abab']
>>> strs.sort(key = lambda x : len(set(list(x))))
>>> strs
['aaaa', 'foo', 'abab', 'bar', 'card']

转载于:https://www.cnblogs.com/ik-heu/p/8158751.html

python中的列表排序相关推荐

  1. python中对列表排序_在Python中对嵌套列表进行排序和分组

    在Python中对嵌套列表进行排序和分组 我具有以下数据结构(列表列表) [ ['4', '21', '1', '14', '2008-10-24 15:42:58'], ['3', '22', '4 ...

  2. python中对列表排序,去重

    import sanitize import get_data #(1)方法一:对文件一个个进行打开以及去空格等处理成一个字符串的列表 '''with open('james.txt') as jaf ...

  3. 如何在Python中反转列表?

    如何在Python中执行以下操作? array = [0, 10, 20, 40] for (i = array.length() - 1; i >= 0; i--) 我需要一个数组的元素,但是 ...

  4. 零基础Python完全自学教程15:Python中的列表

    欢迎你来到站长学堂,学习站长在线出品的在线课程<零基础 Python完全自学教程>今天给大家分享的是第14课< Python中的列表 >.本节课是一个大课,我分了这些知识点进行 ...

  5. python中字典列表元组_Python中的列表和元组

    python中字典列表元组 Lists and tuples are arguably Python's most versatile, useful data types. You will fin ...

  6. 逗号分隔的字符串转换为Python中的列表 split

    将逗号分隔的字符串转换为Python中的列表 给定一个字符串: 它是由逗号分隔的几个值的序列: mStr = '192.168.1.1,192.168.1.2,192.168.1.3' 如何将字符串转 ...

  7. python中创建列表[]和list()哪个效率快?为什么快?快多少呢?

    python中创建列表的两种方式: # 方法一:使用成对的方括号语法 list_a = []# 方法二:使用内置的 list() list_b = list() 1. [] 是 list() 的三-四 ...

  8. 这12种方法轻松合并Python中的列表

    我喜欢12这个数字,因为有太多的事情与12有关.一年有12个月;古代用12个时辰(地支)表示一天的时间.用一纪表示12年;希腊有12主神;黄道有12宫;撒迦利亚.西琴先生的<地球编年史>中 ...

  9. 从python中的列表中获取唯一值[重复]

    本文翻译自:Get unique values from a list in python [duplicate] This question already has an answer here: ...

最新文章

  1. WCF分布式开发步步为赢(12):WCF事务机制(Transaction)和分布式事务编程
  2. linux oracle停启,linux下Oracle自动启动与停止总结
  3. matlab中所遇到的问题,【总结】【matlab】【机器学习】学习过程中遇到的问题总结...
  4. 【LeetCode从零单排】No221.Maximal Square
  5. (整理)ubuntu10.10安装低版本的编译器(低版本)(gcc)(ubuntu)
  6. CVE(Common Vulnerabilities and Exposures通用漏洞披露)笔记
  7. css3 固定,CSS3 calc()不适用于固定位置/绝对位置
  8. Docker常见问题总结
  9. (转)Android开发书籍推荐:从入门到精通系列学习路线书籍介绍
  10. java 各省市区代码表
  11. kitti pkl可视化,KITTI数据集格式说明
  12. mysql数据生成词云图,7个好用的在线词云生成工具
  13. Android APK反编译得到Java源代码和资源文件
  14. CF1313C Skyscrapers
  15. (13.1.1)PMBOK之一:运营,项目、项目集、项目组合、组织战略及其管理
  16. 简单教学 apache 配置 Expire/Cache-Control 头
  17. 北航新版选课系统科学选课教程
  18. 当你看不清自己的时候,读一些句子会有启发
  19. 云原生钻石课程 | 第6课:Kubernetes网络架构原理深度剖析(上)
  20. davinci 达芬奇BI工具

热门文章

  1. macos php开发环境,macOS 10.13 High Sierra PHP开发环境配置
  2. web前端入门指南:来看看这位大佬的学习之路吧!
  3. 学习web前端要了解的HTML5知识有哪些?
  4. Vue的使用技巧是什么,学习难度怎么样?
  5. C语言分支语句和循环语句及练习
  6. M - 简单字符串排序
  7. java可选项_在Java中链接可选项8
  8. cocos2d pod_cocos2d 和 cocos3d的版本问题
  9. 两个分数化简比怎么化_怎么化行最简形矩阵?
  10. android xml图片旋转,如何在Android中进行平滑的图像旋转?