python/备战蓝桥杯-快速排序

2023-10-27

#for i in range()

引自Python for i in range ()用法详解_python_脚本之家 (jb51.net)

快速排序

nums=[5,3,6,4,1,2,8,7]
for i in range(1,len(nums)): #遍历未排序的元素
    for j in range(i):       #遍历已有序的元素
        if nums[j]>nums[i]:  #找到插入位置,从小到大排列
       #if nums[j]<nums[i]:  #从大到小排列
            ins=nums[i]      
            nums.pop(i)      #pop()将列表指定位置的元素移除,同时可以将移除的元素赋值给某个变量,不填写位置参数则默认删除最后一位
            nums.insert(j,ins)
            break            #完成插入后跳出for循环
print(nums)

举一个特殊的小例子,说明 i 遍历的是未排序的元素,j 遍历的是已有序的元素

我们先赋值循环是 for i in range(1,3)

等价于 i 取值1,2

1.一次循环: 那么当i=1时, for j in range(i) 等价于for j in range(1),也就是j取值为0

所以这时是i=1,j=0,也就是在数组中j在i前面

2.第二次循环: 也就是当i=2时,for j in range(i) 等价于for j in range(2),j此时取值0,1

nums.pop()和nums.insert(j,ins)

  1. pop

直接在pop函数内输入要删除元素的索引号即可,例如:

nums = [0,3,6,8,2,1]
#删除索引为2对应的值
nums.pop(2)

输出结果:

[0, 3, 8, 2, 1]
  1. nums.insert()

nums = [0,3,6,8,2,1]
#在索引为1处插入值为4的元素
nums.insert(1,4)

输出结果:

[0, 4, 3, 6, 8, 2, 1]

引自 Python列表元素的删除和插入 - 让我们来分析分析 - 博客园 (cnblogs.com)

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

python/备战蓝桥杯-快速排序 的相关文章

  • 如何将base64字符串直接解码为二进制音频格式

    音频文件通过 API 发送给我们 该文件是 Base64 编码的 PCM 格式 我需要将其转换为 PCM 然后再转换为 WAV 进行处理 我能够使用以下代码解码 gt 保存到 pcm gt 从 pcm 读取 gt 保存为 wav decod
  • JavaScript 相当于 Python 的参数化 string.format() 函数

    这是 Python 示例 gt gt gt Coordinates latitude longitude format latitude 37 24N longitude 115 81W Coordinates 37 24N 115 81W
  • Kivy - 文本换行工作错误

    我正在尝试在 Kivy 1 8 0 应用程序中换行文本 当没有太多文字时 一切正常 但如果文本很长并且窗口不是很大 它只是剪切文本 这是示例代码 vbox BoxLayout orientation vertical size hint y
  • Python从int到string的快速转换

    我正在用 python 求解大量阶乘 并发现当我完成计算阶乘时 需要相同的时间才能转换为字符串以保存到文件中 我试图找到一种将 int 转换为字符串的快速方法 我将举一个计算和 int 转换时间的例子 我正在使用通用的 a str a 但感
  • Jupyter Notebooks 不显示进度条

    我正在尝试在 Jupyter 笔记本中显示进度条 这是一台新电脑 我通常做的事情似乎不起作用 from tqdm import tqdm notebook example iter 1 2 3 4 5 for rec in tqdm not
  • TF map_fn 或 while_loop 用于不同形状的张量列表

    我想处理不同形状的张量序列 列表 并输出另一个张量列表 考虑每个时间戳上具有不同隐藏状态大小的 RNN 就像是 输入 tf ones 1 2 2 tf ones 2 2 3 tf ones 3 2 1 输出 tf zeros 1 2 4 t
  • 使用 Django Rest 保存 Base64ImageField 类型会将其保存为原始图像。如何将其转换为普通图像

    我的模型中有 5 个图像字段 imageS imageS imageS imageS 和 imageE 我正在尝试按以下方式保存图像 图像的类型Base64ImageField images imageA imageB imageC ima
  • Tweepy StreamListener 到 CSV

    我是 python 新手 我正在尝试开发一个应用程序 使用 Tweepy 和 Streaming API 从 Twitter 检索数据并将数据转换为 CSV 文件 问题是此代码不会创建输出 CSV 文件 也许是因为我应该将代码设置为在实现例
  • 查找模块中显式定义的函数 (python)

    好的 我知道您可以使用 dir 方法列出模块中的所有内容 但是有什么方法可以仅查看该模块中定义的函数吗 例如 假设我的模块如下所示 from datetime import date datetime def test return Thi
  • 当我在 Pandas 中使用 df.corr 时,我的一些列丢失了

    这是我的代码 import numpy as np import pandas as pd import seaborn as sns import matplotlib pyplot as plt data pd read csv dea
  • numpy 使用 datetime64 进行数字化

    我似乎无法让 numpy digitize 与 datetime64 一起使用 date bins np array np datetime64 datetime datetime 2014 n 1 s for n in range 1 1
  • 可以用 Django 制作移动应用程序吗?

    我想知道我是否可以在我的网站上使用 Django 代码 并以某种方式在移动应用程序 Flutter 等框架中使用它 那么是否可以使用我现在拥有的 Django 后端并在移动应用程序中使用它 所以就像models views etc 是的 有
  • 更改 python tkinter canvas 中的线坐标

    我画了一条线tkinter Canvas现在我想移动一端 这可能吗 例如和itemconfig import tkinter tk tkinter Tk canvas tkinter Canvas tk canvas pack line c
  • python是带有字符串的运算符行为[重复]

    这个问题在这里已经有答案了 我无法理解以下行为 我正在创建 2 个字符串 并使用 is 运算符来比较它 对于第一种情况 它的工作方式有所不同 对于第二种情况 它按预期工作 当我使用逗号或空格时 它显示是什么原因False与比较is当没有使用
  • 动态 __init_subclass__ 方法的参数绑定

    我正在尝试让类装饰器工作 装饰器会添加一个 init subclass 方法到它所应用的类 但是 当该方法动态添加到类中时 第一个参数不会绑定到子类对象 为什么会发生这种情况 举个例子 这是可行的 下面的静态代码是我试图最终得到的示例 cl
  • `list()` 被认为是一个函数吗?

    list显然是内置类型 https docs python org 3 library stdtypes html list在Python中 我看到底下有一条评论this https stackoverflow com a 53645813
  • 处理大文件的最快方法?

    我有多个 3 GB 制表符分隔文件 每个文件中有 2000 万行 所有行都必须独立处理 任何两行之间没有关系 我的问题是 什么会更快 逐行阅读 with open as infile for line in infile 将文件分块读入内存
  • 如何为所有用户安装 Anaconda python?

    Anaconda python 发行版 https store continuum io cshop anaconda 非常方便地部署科学计算环境 SCE 并根据需要切换python版本 默认情况下 安装会将 python 定位到 anac
  • python sklearn中的fit方法

    我问自己关于 sklearn 中拟合方法的各种问题 问题1 当我这样做时 from sklearn decomposition import TruncatedSVD model TruncatedSVD svd 1 model fit X
  • 缓存 Flask-登录 user_loader

    我有这个 login manager user loader def load user id None return User query get id 在我引入 Flask Principal 之前它运行得很好 identity loa

随机推荐

  • __declspec(dllexport)(转)

    declspec dllexport 转 转自 http hi baidu com jk cau blog item 43f7e6b3b3082da1d9335abe html 一 declspec dllexport 将一个函数声名为导出
  • XHbuilder 运行到 Ios APP 需要 ipa 签名,超详细的教程,你不看吃亏的是自己!

    今天使用 hbuilder 运行到 ios 真机的时候 突然发现还需要 ipa 签名 这是什么东东呢 1 IPA 签名是什么 因苹果公司禁止企业证书用于非企业内部开发者 所以开发者无法再使用DCloud的企业证书签名的标准运行基座 运行标准
  • ATM中英转换C语言源代码,Atm机中英转换去取款存款等C语言

    gt cardID cout lt gt psw cout lt 存款 取款 查询余额 修改密码 转账 退出 开户函数定义 cout lt cin gt gt money cout lt 存款函数定义 int money1 cout lt
  • Java synchronized的锁升级与对象头

    1 对象头存储加锁信息 1 如何查看对象头 通过依赖
  • Qt教程(3) : 信号与槽

    信号与槽是用于对象之间的通信的 这是 Qt 的核心 为此 Qt 引入了一些关键字 他们是slots signals emit 这些都不是 C 关键字 是 Qt 特有的 这些关键字会被 Qt 的 moc转换为标准的 C 语句 Qt 的部件类中
  • eclipse 导入项目源码报错(最全问题及解决方案)

    eclipse 导入项目源码报错问题汇总及解决方案 概述 情况一 no projects are found to import 报错原因 解决方法 情况二 导入项目后乱码 报错原因 解决方法 情况三 项目名称上出现红叉 报错原因 解决办法
  • pytorch计算GPU运行时间:

    tim 0 start torch cuda Event enable timing True the times end torch cuda Event enable timing True start record out net i
  • Android匿名共享内存和MemoryFile

    http blog csdn net goodlixueyong article details 53151959 今天要讲的内容相对冷门 日常开发中的使用率较低 但是 在某些场景下 它也许可以带给我们一个新的思路 帮我们解决一些棘手的问题
  • 【YOLOv8】实战一:手把手教你使用YOLOv8实现实时目标检测

    博客主页 virobotics的CSDN博客 LabVIEW深度学习 人工智能博主 所属专栏 LabVIEW深度学习实战 上期文章 LabVIEW OpenCV快速搭建人脸识别系统 附源码 如觉得博主文章写的不错或对你有所帮助的话 还望大家
  • VS Code如何让右键运行代码[秒懂!!!]

    前言 当我们下载完了VSCode 运行代码的时候发现还要去左上角的工具栏上面运行 这里我将教给你如何用右键的菜单运行代码 正文 下载一个插件就可以解决这个问题 Code Runner这款插件能解决这个问题 如图是下载过程 下载完了就可以用右
  • 计算机视觉小实例 No.3 基于Hough变化的答题卡识别

    答题卡识别 答题卡自动阅卷系统通过获取答题卡图像作为系统输入 并通过计算机处理 自动识别填图标记 存入数据库完成阅卷 但是答题卡在运输和使用过程中 容易受到设备 环境等因素的影响 使得图像质量在一定程度上有所下降 影响了自动阅卷的准确率 甚
  • ChatGPT对话聊天

    工具说明 ChatGPT是人工智能技术驱动的自然语言处理工具 它能够通过理解和学习人类的语言来进行对话 还能根据聊天的上下文进行互动 站内地址 本站提供ChatGPT聊天工具 能满足日常使用 但由于对接国外接口 中间经过复杂中转实现 故稳定
  • 魔方机器人之下位机编程---------舵机控制

    1 春天180 舵机 SR 403P 信号线和控制线颜色对应关系 两黑一白 白色信号线 中间电源 另一黑色电源 以上MC9S12XS128单片机通道三产生的周期为20ms 高电平为1 5ms的舵机控制信号 void PWM Init voi
  • 如何查看端口被哪个进程占用(Windows/Linux)

    之前有写过Linux如何查看端口被占用 但是最近查看Window的端口占用情况比较多 两个系统均使用了netstat命令但是参数不同 所以新写一个笔记作为对比 Windos查看端口占用 netstat ano 这个命令可以显示本机所有端口占
  • SqlServer 通用修改字段类型(多表)

    起因 因为SqlServer 数据库不支持varchar 类型写入 韩文多语言 解决方式 修改varchar类型为 nvarchar 类型 nvarchar类型是占用两个字节 其他问题 1 SqlServer的主键最多900字节 所以不能将
  • StringTokenizer实现

    OO分析 识别对象 源字符串str 当前词起始指针start 扫描指针i 当前词word 基本互动关系 1 当前指针在str范围且是字符i lt str size str i 并且是第一个字符 i 0 或上一个字符是空格 str i 1 则
  • Java 使用socket实现向服务器端上传图片[TCP]

    整体思路其实和使用IO流进行文件拷贝类似 只不过这次涉及的流更多 1 图片属于二进制文件 所以采用字节流处理 2 源图片文件位于客户端主机的磁盘 所以我们需要通过本地IO 将其输入到内存 本地IO 3 然后将读入内存的文件通过socket的
  • 三台服务器es集群性能,es集群服务器配置

    es集群服务器配置 内容精选 换一换 CDM支持将本地自建的Redis数据库或者第三方的Redis服务数据迁移到分布式缓存服务 Distributed Cache Service 简称DCS 无需编程即可快速实现迁移 使用流程如下 创建CD
  • 苹果手机signin_iPhone手机弹出sign in to itunes store怎么办[图]

    iPhone手机弹出sign in to itunes store怎么办 想必有的亲们遇到了这种问题 那么是不是骗子呢 下面就由安族小编为您详细介绍介绍哦 iPhone弹出sign in to itunes store怎么办 容易模仿的弹出
  • python/备战蓝桥杯-快速排序

    for i in range 引自Python for i in range 用法详解 python 脚本之家 jb51 net 快速排序 nums 5 3 6 4 1 2 8 7 for i in range 1 len nums 遍历未