广告
返回顶部
首页 > 资讯 > 后端开发 > Python >python3-排序
  • 614
分享到

python3-排序

2023-01-31 07:01:04 614人浏览 薄情痞子

Python 官方文档:入门教程 => 点击学习

摘要

排序 >>> z=[11,34,-12,9,8534,12,434] >>> z.sort() >>> z [-12, 9, 11, 12, 34, 434, 8534] sort()

排序

>>> z=[11,34,-12,9,8534,12,434]
>>> z.sort()
>>> z
[-12, 9, 11, 12, 34, 434, 8534]

sort() 函数用于对原列表进行排序,如果指定参数,则使用比较函数指定的比较函数。

语法
sort()方法语法:

list.sort(cmp=None, key=None, reverse=False)
参数
参数
cmp -- 可选参数, 如果指定了该参数会使用该参数的方法进行排序。
key -- 主要是用来进行比较的元素,只有一个参数,具体的函数的参数就是取自于可迭代对象中,指定可迭代对象中的一个元素来进行排序。
reverse -- 排序规则,reverse = True 降序, reverse = False 升序(默认)。

>>> y
[[3, 9], [1, 11], [5, 34], [2, 42], [4, 98]]
>>> y=[[1,11],[2,42],[3,9],[4,98],[5,34]]
>>> y.sort(key=lambda item:item[1])
>>> y
[[3, 9], [1, 11], [5, 34], [2, 42], [4, 98]]
>>>
>>> z=[{'id':'x1','length':13},{'id':'x2','length':201},{'id':'x3','length':98},{'id':'x4','length':9}]
>>> z
[{'id': 'x1', 'length': 13}, {'id': 'x2', 'length': 201}, {'id': 'x3', 'length': 98}, {'id': 'x4', 'length': 9}]
>>> z.sort(key=lambda item: item.get('length'))
>>> z
[{'id': 'x4', 'length': 9}, {'id': 'x1', 'length': 13}, {'id': 'x3', 'length': 98}, {'id': 'x2', 'length': 201}]
>>>
>>> z=[(1,"adsfafd"),(2,"qwer"),(3,"1234asf"),(4,"ew")]
>>> z
[(1, 'adsfafd'), (2, 'qwer'), (3, '1234asf'), (4, 'ew')]
>>> z.sort(key=lambda ele:ele[1])
>>> z
[(3, '1234asf'), (1, 'adsfafd'), (4, 'ew'), (2, 'qwer')]
>>> z.sort(key=lambda ele:len(ele[1]))
>>> z
[(4, 'ew'), (2, 'qwer'), (3, '1234asf'), (1, 'adsfafd')]
>>> z.sort(key=lambda ele:len(ele[1]),reverse=True)
>>> z
[(3, '1234asf'), (1, 'adsfafd'), (2, 'qwer'), (4, 'ew')]

多属性排序

>>> z=[(1,"adsfafd"),(2,"qwer"),(3,"1234asf"),(4,"ew"),(2,"24")]
>>> z.sort(key=lambda ele:(len(ele[1]),ele[0]))
>>> z
[(2, '24'), (4, 'ew'), (2, 'qwer'), (1, 'adsfafd'), (3, '1234asf')]
>>>
#!/usr/bin/python

# 获取列表的第二个元素
def takeSecond(elem):
    return elem[1]

# 列表
random = [(2, 2), (3, 4), (4, 1), (1, 3)]

# 指定第二个元素排序
random.sort(key=takeSecond)

# 输出类别
print ('排序列表:', random)

--结束END--

本文标题: python3-排序

本文链接: https://www.lsjlt.com/news/192099.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • python3-排序
    排序 >>> z=[11,34,-12,9,8534,12,434] >>> z.sort() >>> z [-12, 9, 11, 12, 34, 434, 8534] sort() ...
    99+
    2023-01-31
  • Python3实现快速排序、归并排序、堆
    # -*- coding: utf-8 -*- # @Time : 2019-03-26 16:46 # @Author : Jayce Wong # @ProjectName : leetcode # @Fi...
    99+
    2023-01-31
    快速
  • Python3 基本排序算法之冒泡排序,
      基本排序算法按时间复杂度分类  O(n^2)  冒泡排序  插入排序  选择排序  Q(n log n)  分而治之  快速排序  归并排序  冒泡排序  相邻的两个元素对比,大的数后推,遍历整个列表一次后,将最大项以冒泡的方式排列i到...
    99+
    2023-01-31
    算法
  • python3 类排序 类比较
    文章目录自定义类比较自定义类排序 自定义类比较 让python3 的类支持比较操作可以利用total_ordering修饰器重载 ==, <=, > 运算符 官方文档是这样说的 来自此文档 示例代码: 这份代码由于是...
    99+
    2023-01-31
  • 十大排序算法总结(Python3实现)
    目录   一、概述 二、算法简介及代码展示 1.冒泡排序 2.简单选择排序 3.简单插入排序 4.堆排序 5.快速排序 6.希尔排序 7.归并排序 8.计数排序 9.桶排序 10.基数排序 11.#代码说明 三、感悟总结 排序算法大概是...
    99+
    2023-01-31
    十大 算法
  • python3-列表增删改查合并排序
    # Auther: Aaron Fannames = ["aaron", "alex", "james", "meihengfan"]names2 = [1,2,3,4,5]print(names)#查#print(names)      ...
    99+
    2023-01-31
    列表
  • python3如何实现常见的排序算法
    小编给大家分享一下python3如何实现常见的排序算法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!冒泡排序冒泡排序是一种简单的排序算法。它重复地走访过要排序的数...
    99+
    2023-06-20
  • Python3怎么实现自定义比较排序
    本篇内容介绍了“Python3怎么实现自定义比较排序”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!自定义比较排序/运算符Python3和Py...
    99+
    2023-06-29
  • Python3实现自定义比较排序/运算符
    目录自定义比较排序/运算符1.cmp函数2.重写类方法Python3实现各种排序方法自定义比较排序/运算符 Python3和Python2相比有挺多变化。 在Python2中可以直接...
    99+
    2022-11-13
  • python3默认排序函数的多属性比较
    Python3开始sorted函数和list.sort函数不再接收cmp作为参数,只使用key参数作为比较关键词,这样处理多属性的比较就比较麻烦。 一种有效的解决方案是key参数传入比较函数,返回值是所需比较的多个属性按优先级排列的一...
    99+
    2023-01-31
    函数 属性
  • Python3匿名函数字典排序、生成式与
    1. 参数匿名函数字典排序 函数的参数: 参数类型:我们经常在看别人的代码中,经常出现def(*args,**kwargs)这样的表现形式; *args tuple(1,) **kwargs dict{"k...
    99+
    2023-01-31
    字典 函数
  • python3实现常见的排序算法(示例代码)
    冒泡排序 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序错误就把它们交换过来。走访数列的工作是重复地进行直到没有再需要交换,也就是说该数列...
    99+
    2022-11-12
  • 八大排序(三)堆排序,计数排序,归并排序
    一、堆排序 什么是堆排序:堆排序(Heap Sort)就是对直接选择排序的一种改进。此话怎讲呢?直接选择排序在待排序的n个数中进行n-1次比较选出最大或者最小的,但是在选出最大或者最小的数后,并没有对原来的序列进行改变,这使得下一次选数时还...
    99+
    2023-10-21
    算法 数据结构
  • 数据结构:直接插入排序,希尔排序,选择排序,堆排序,冒泡排序,快速排序,归并排序,计数排序(C实现)
    个人主页 : 个人主页 个人专栏 : 《数据结构》 《C语言》 文章目录 前言一、插入排序1.直接插入排序2.希尔排序 二、选择排序1. 选择排序2.堆排序 三、交换排序1.冒...
    99+
    2023-09-14
    数据结构 c语言 排序算法
  • C语言排序算法之选择排序(直接选择排序,堆排序)
    目录前言一、直接选择排序1.1 算法思想1.2 代码实现1.3 直接选择排序的特征总结二、堆排序2.1 什么是堆?2.2 判断是否是堆2.3 向下调整算...
    99+
    2022-11-13
  • golang归并排序,快速排序,堆排序的实现
    归并排序 归并排序使用经典的分治法(Divide and conquer)策略。分治法会将问题分(divide)成一些小的问题然后递归求解,而治(conquer)的阶段则将分的阶段得...
    99+
    2022-11-13
  • C语言常见排序算法之交换排序(冒泡排序,快速排序)
    目录前言1.交换排序——冒泡排序1.1 算法思想1.2 动图演示1.3 冒泡最好的情况 2. 交换排序——快速排序...
    99+
    2022-11-13
  • 手撕排序之快速排序
    快排的思想(霍尔版本): 如何实现单趟排序: 先假设key是数列的首元素,然后分别定义left和right,left指向首元素的下一个元素,right指向最后一个元素。 先遍历右边,如果比key小,就停止遍历,如果比key大就right-...
    99+
    2023-10-25
    算法 排序算法 数据结构
  • C语言排序之 堆排序
    目录前言:完全二叉树在数组中下标换算公式代码工作流程整体流程重建堆函数流程大小顶堆使用场景时间复杂度代码前言: 堆是具有以下性质的完全二叉树 每个节点大于或等于其左右子节点,此时称为...
    99+
    2022-11-13
  • Python3程序打包
    使用cxfreeze将python3源码打包成为应用程序。1、下载最新4.3.4cxfreeze.whl后,修改后缀为.zip。2、提取其中3个子文件夹3、安装cx_Freeze-4.3.3.win-amd64-py3.4.msi程序4、将...
    99+
    2023-01-31
    程序
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作