列表元素"零"的移动

描述:

对于一个列表,在保持非零元素相对顺序的同时,将元素中所有的数字0移动到末尾。‪‬‪‬‪‬‪‬‪‬‮‬‪‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‭‬‫‬‪‬‪‬‪‬‪‬‪‬‮‬‫‬‪‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬‮‬

例如,获得输入列表 [0, 1, 0, 3, 12],输出 [1, 3, 12, 0, 0]。
方法一代码如下

ls=eval(input())
lt1=[]
lt2=[]
for i in range(len(ls)):if ls[i]==0:lt1.append(0)else:lt2.append(ls[i])
print(lt2+lt1)

使用两个列表,一个存储不等于0的数,一个存储等于0的数。
还有一种很常见的方法,但是准确来说并不正确,能在部分的测试案例中通过,但有了两个以上连续0的存在就会与结果不符。

ls=eval(input())
for i in range(len(ls)):if ls[i]==0:ls.pop(i)ls.append(0)
print(ls)

使用for循环遍历列表,但是在遍历的时候列表自身会发生变化,删除了等于0的数,并在末尾加上一个0。如果有两个0在一起的话,会导致第一个0被删掉,第二个0占据了原本第一个0的位置,逃过了遍历。

运行下面这段代码:

ls=eval(input())
for i in ls:print(i)if i==0:ls.pop(i)ls.append(0)

得到的结果如下:

所以在使用for循环时,最好不要对列表进行删除操作,会影响遍历结果。可以将值赋值给新的列表,不要在原有列表上进行操作。

方法二:

ls=eval(input())
c=0
while 0 in ls:ls.remove(0)c=c+1
for i in range(c):ls.append(0)
print(ls)

查找0时使用while循环,不使用for循环。在计算0的个数时可以在循环里面累加,也可以使用c=ls.count(0)方法计算出列表中0的个数。

python列表元素零的移动相关推荐

  1. python列表元素零的移动_python列表多行

    广告关闭 腾讯云11.11云上盛惠 ,精选热门产品助力上云,云服务器首年88元起,买的越多返的越多,最高返5000元! 这个列表推导式共有145列: memberdef_list = and std: ...

  2. python第k序元素查找列表_【Python】第8次练习:列表——程序填空题 -合并队列、列表元素零的移动、列表逆序输出、第K序元素查找...

    [Python]第8次练习:列表--程序填空题 -合并队列.列表元素"零"的移动.列表逆序输出.第K序元素查找 1.程序填空题 -合并队列 题目:某班男女两队同学各若干人,男生已按 ...

  3. python列表元素0的移动_【Python】列表元素零的移动

    [Python]列表元素"零"的移动 描述 对于一个列表,在保持非零元素相对顺序的同时,将元素中所有的数字0移动到末尾.‪‬‪‬‪‬‪‬‪‬‮‬‫‬‭‬‪‬‪‬‪‬‪‬‪‬‮‬‪‬ ...

  4. python列表元素都加倍_关于python列表增加元素的三种操作方法

    关于python列表增加元素的三种操作方法 1.insert方法,该方法包含两个参数,第一个参数为插入的位置参数,第二个参数为插入内容 a = [0,0,0] b = [1,2,3] a.insert ...

  5. python列表元素如何求和

    python实现列表对应元素求和的两种方法. 方法一:采用zip()方法: 1 2 3 4 5 6 7 8 9 10 11 12 # -*- coding: utf-8 -*- import math ...

  6. python列表元素交换位置_python删除列表元素5种方法,你会的是错误法还是最优解?...

    删除列表元素很多同学想当然的认为不就是循环遍历加上if判断再del吗?真的有这么简单吗? 还是直接上代码看案例吧: import time# 删除下面列表中所有张姓元素,输出的结果应该是['李老大', ...

  7. python列表元素之和_python实现计算列表元素之和

    目标:定义一个数字列表,并计算列表元素之和. 例如: 输入 : [12, 15, 3, 10] 输出 : 40 方法一:total = 0 list1 = [11, 5, 17, 18, 23] fo ...

  8. python列表元素下标是什么_python列表中元素插入位置总结

    python列表中元素插入位置总结 , python中列表去掉最后一个元素 ist.insert(index,obj) 列表与方法之间用点号相隔,括号内需要添入的参数分别是索引和要插入的元素. 要完成 ...

  9. python列表元素替换的数据结构_列表是Python中的一种数据结构。列表元素无序。...

    [综合练习]It has made the headlines that the president's wife threatened her husbands with public exposu ...

最新文章

  1. Python导出Excel文件
  2. 注解 java 反射_java注解和反射
  3. android+包+反编译,简单的Android之apk包反编译方法
  4. linux加载虚拟sriov网卡,如何配置BroadCOM网卡的SR-IOV功能
  5. jaVa工程师朱璇_使用QTP对Silverlight应用进行自动化测试的研究与实践
  6. ASP.NET Core 沉思录 - 结构化日志
  7. nib和xib的区别
  8. 算法入门书籍--2022.04.04
  9. C++之继承探究(十一):多重继承、菱形继承、虚继承、二义性问题及其解决方案
  10. VirtualBox 安装ghost版windows XP
  11. C#操作EXCLE表
  12. 迷你世界甲龙变身机器人_迷你世界X变形金刚双形态皮肤特效,自带双血条,简直无敌...
  13. pat-A1043:Is it a Binary Search Tree(二叉搜索树和及其镜像树的遍历)
  14. 通过MFC实现数码管显示功能
  15. java开发autocad_.NET AutoCAD二次开发之路(四、文字篇)
  16. JS-SDK使用权限签名算法
  17. 基于51单片机心形流水灯c语言源程序,51单片机心形流水灯源程序
  18. beacon帧主要结构
  19. 【计算机网络】计网学习——总览(超多图+超详解)
  20. 数据挖掘期末大作业附加题

热门文章

  1. ASCII文件和bin二进制文件的区别是什么
  2. 腾讯 Angel Graph 图计算框架在智能风控中的应用
  3. NoteExpress助你快速编辑学术开提报告、论文内容和格式
  4. 笔记本显示网络电缆被拔出怎么解决_电脑显示网络电缆被拔出原因有哪些【解决方法】...
  5. ADS129X芯片中文资料(三)——数字功能部分介绍
  6. luckysheet移动端添加复制粘贴(批量粘贴)操作按钮
  7. Ubuntu系统安装flash player插件
  8. 开发方法---敏捷方法
  9. Res2net:多尺度骨干网络结构
  10. Android仿网易云音乐中锁屏后在开锁界面插屏功能