当前位置: 首页 > news >正文

python 练习 在列表元素中合适的位置插入 输入值

目的: 有一列从小到大排好的数字元素列表, 现在想往其插入一个值,要求: 大于右边数字小于左边数字
列表元素: [1,4,6,13,16,19,28,40,100]
# 方法: 往列表中添加一个数值,其目的方便元素位置往后移动一位,
因为如果我们找到了合适的位置,目前这个位置有元素在占着,我们需要将其适合位置后的每一个元素,往后挪动一位,如果不在最后添加一个元素,而且这个元素必须是 0 ,会发生栈缺失值的现象
其实我们就是做了  a[i] = a[i-1]  元素100 消失了       执行 a[i] = a[i-1]   如果我们执行了从后往前迭代,a【9】 = a[8]   40 覆盖了100
a = [1,4,6,13,16,19,28,40,100,0]
print("befor:")
for i in range(0,len(a) - 1): print(a[i],end="\t")
print()
number = int(input("请输入你想要插入的数:"))local = 0
for i in range(len(a)-2,-1,-1):   # 第二个-1 指的是步长为1不过是从右往左取if number > a[i]:local = i+1  # local 就是我们的插入点break
# 移动位置
for i in range(len(a)-1,local,-1): # local-1 是因为 range() 函数总是左闭右开# 如果写成local 只会取到 插入紧跟后面的一个数,本来插入点在6后面,因为range() 函数的原因就# 会将插入点选到了13后面a[i] = a[i-1]    # 从插入点每一个数都向后移动了1位, i 最后存在的位置只能是插入点
a[local] = number   # local 是我们的插入点  没执行这条语句之前 a[local] = a[local-1], 现在将插入的值赋到 替换点print(a)


学习资料: 转载: 【三天练完!学习Python必刷的100道经典实战练习真题,没练等于白学!!!】 https://www.bilibili.com/video/BV1SG411H7e1/?p=36&share_source=copy_web&vd_source=d0ef3d08fdeef1740bab49cdb3e96467

http://www.lryc.cn/news/213531.html

相关文章:

  • 企业级JAVA、数据库等编程规范之命名风格 —— 超详细准确无误
  • 有什么可以自动保存微信收到的图片和视频的方法么
  • 面试算法46:二叉树的右侧视图
  • vite配置terser,压缩代码及丢弃console
  • R语言使用surveyCV包对NHANES数据(复杂调查加权数据)进行10折交叉验证
  • WOS与CNKI数据库的citespace分析教程及常见问题解决
  • NEFU数字图像处理(三)图像分割
  • UEditorPlus v3.6.0 图标补全,精简代码,快捷操作重构,问题修复
  • C++ Set
  • 基于知识库的chatbot或者FAQ
  • ZOC8 for Mac:超越期待的终端仿真器
  • 织梦dedecms后台档案列表显示空白或显示不了文章的解决方法
  • 10本值得阅读的量化交易书籍
  • c++通过对象的地址初始化指针,需要对指针进行释放么(企业链表衍生)
  • CentOS安装MySQL
  • AI:45-基于深度学习的声纹识别
  • Spring-cloud-openfeign拦截器RequestInterceptor接口
  • 自动化测试开发 —— 如何封装自动化测试框架?
  • Leetcode—2.两数相加【中等】
  • 拷贝音频、视频、word等二进制文件的实现方法,不掉帧
  • dmfldr-快速装载-载入(DM8:达梦数据库)
  • Postman测试金蝶云星空Webapi【协同开发云】
  • mongo常用操作符及查询例子
  • 41.排序练习题(王道2023数据结构第8章综合练习)
  • python爬虫,如何在代理的IP被封后立刻换下一个IP继续任务?
  • 小程序开发——小程序项目的配置与生命周期
  • C语言之用指针交换两个数
  • Day 48 动态规划 part14
  • 目标检测与图像识别分类的区别?
  • 群晖设置DDNS (服务商Godaddy被墙 DDNS-GO无法解析 采用自定义脚本方式完成DDNS更新)