python列表中常见的一些排序方法
作者:Kristian-c 发布时间:2023-08-17 08:48:45
标签:python,列表,排序
1、冒泡排序法
让列表中的一项和下一项作比较,若前一项大于后一项则交换两者位置(升序)。
方法一:直接使用for循环
L=[8,2,50,3]
for i in range(len(L)):
for j in range(i+1,len(L)):
if L[i]>L[j]:
L[i],L[j]=L[j],L[i]
print(L)
方法二:使用while语句
L=[8,2,50,3]
n=0
while n<len(L)-1:
n+=1
i=0
while i<len(L)-1:
if L[i]>L[i+1]:
L[i],L[i+1]=L[i+1],L[i]
i+=1
print(L)
2、选择排序法
在未排序的列表中找到最小元素,存放在列表的最前面,然后再从剩余的元素中寻找最小的,放到已排序列表的末尾,以此类推,直到所有元素排序完毕(升序)
方法一:remove和append同时使用
L=[8,2,50,3]
l=[] # 创建一个空列表用于存放排序后的数据
for i in range(len(L)):
a=min(L) # 创建一个变量存放最小值
l.append(a) # 向空列表中加入数据
L.remove(a) # 在原列表中将最小值剔除
print(l)
方法二:pop和append同时使用
L=[8,2,50,3]
# 创建函数寻找最小元素的索引值
def Smallest(L):
smallest = L[0]
s = 0 # 创建变量用于存放索引值
for i in range(1, len(L)):
if L[i] < smallest:
s = i
smallest = L[i]
return s # 返回最小元素的列表索引值
l = [] # 创建一个空列表用以存放排序后的数据
for i in range(len(L)):
smallest = Smallest(L)
l.append(L.pop(smallest)) # pop方法后跟元素当前列表最小值的索引值
print(l)
3、list.sort()方法
iterable.sort(self,key,reverse)
iterable以为可迭代对象,可以是列表、集合、字典
key是函数,指定取待排序元素的函数规则
reverse实现降序排序,需要提供一个bool值,默认为False(升序)
L=[8,2,50,3]
L.sort()
print(L)
4、sorted()函数
sorted(iterable,key=None,reverse=False)
key:通过这个参数可以自定义排序逻辑
L=[8,2,50,3]
l=sorted(L)
print(l)
来源:https://blog.csdn.net/m0_69265664/article/details/125703164


猜你喜欢
- --Create Company Table Create Table Company ( ComID varchar(50) primar
- 之前用Python 2.7版本的httplib做接口测试时,运行代码都是正常的,最近开始用Python 3.3之后,再去看以前的代码,发现i
- 一、前言恭喜你,学明白类,你已经学会所有基本知识了。这章算是一个娱乐篇,十分简单,了解一下pyautogui模块,这算是比较好学还趣味性十足
- CPython implementation detail: 在 CPython 中,由于存在全局解释器锁, 同一时刻只
- 安装pip install requests发送网络请求import requestsr=requests.get('http://
- 1.func Fields(s string) []string,这个函数的作用是按照1:n个空格来分割字符串最后返回的是[]string的
- 引言今天我们来分享一个 Python 领域的神级第三方库 -- pycallgraph,通过该库并结合 graphviz 工具,就可以非常方
- 最近和Sobin在做一个精品课程的项目,因为用到一个固定的id作为表间关联,所以在前一个表插入数据后要把插入数据生成的自增id传递给下一个表
- 需求在某应用中,需要根据一定的规则生成随机的IP地址,规则类似于192.168.11.0/24这样的CIDR形式给出。实现经过艰苦卓绝的调试
- 问题:<!DOCTYPE html><html lang="en"><head> &
- 指定路径斜杠与反斜杠的问题报错:SyntaxError: (unicode error) ‘unicodeescape&
- slice:eg:>>>e=[0,1,2,3,4,5,6]>>>s=slice(2,3)>>
- pytest概述pytest是一个非常成熟的全功能的Python测试框架,主要特点有以下几点:1、简单灵活,容易上手,文档丰富;2、支持参数
- 将视频中的音频分离出来简单介绍使用python将音频从视频当中分离出来,形成一个mp3格式的音乐。使用环境和模块1.python 3.72.
- 需要准备环境:python3.6、vultr(或者其他服务器)、xshell第一步:python安装必备环境Django库Xshell链接远
- 本文实例讲述了微信扫码支付模式。分享给大家供大家参考,具体如下:背景:因为微信占据众多的用户群,作为程序开发,自然而然也成了研究的重点。毕竟
- super主要来调用父类方法来显示调用父类,在子类中,一般会定义与父类相同的属性(数据属性,方法),从而来实现子类特有的行为。也就是说,子类
- 初级画心学Python,感觉你们的都好复杂,那我来个简单的,我是直接把心形看作是一个正方形+两个半圆:于是这就很简单了,十行代码解决:imp
- php的引用(就是在变量或者函数、对象等前面加上&符号),在PHP 中引用的意思是:不同的名字访问同一个变量内容。与C语言中的指针是
- 若你在搜索引擎(如百度)或者各种问答社区(如知乎)搜索 学习Python 最好的 IDE/编辑器是哪个?我想答案肯定是:PyCharm、Ju