电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

解決python 在for循環并且pop數組的時候會跳過某些元素的問題

瀏覽:106日期:2022-07-02 13:54:56

今天在學python的時候遇到一個問題,循環一個數組 指定一個數,如果數組內有相同的元素就刪除。

1. 前提是不能新增內存,就在該數組內處理

nums = [0,1,2,2,3,0,4,2]val = 2for i in nums: if(i == val): idx = nums.index(i) nums.pop(idx)print(nums)

一開始寫成這樣時候輸出

[0, 1, 2, 3, 0, 4] //中間的2居然沒有刪除

然后我修改了一下 把每一次循環都打出來看看

0loop [0, 1, 2, 2, 3, 0, 4, 2]1loop [0, 1, 2, 2, 3, 0, 4, 2]2loop [0, 1, 2, 3, 0, 4, 2]//這里被跳過了3loop [0, 1, 2, 3, 0, 4, 2]4loop [0, 1, 2, 3, 0, 4, 2]5loop [0, 1, 2, 3, 0, 4, 2]6loop [0, 1, 2, 3, 0, 4]

原因是因為Python中for循環用迭代器實現,而pop方法刪除了當前元素后,被刪除的位置由后面的填補,而循環自動指到下一個元素,也就相當于那個2被跳過了。

網上搜的一些處理方法 比較適合這個的是用

for i in nums[:]: //在這里nums[:]相當于復制了一份,但是并不是同一份。 if(i == val): idx = nums.index(i) nums.pop(idx)

輸出

[0, 1, 3, 0, 4]

補充知識:python 中for循環(continue, break, pass)用法

1、continue 跳過當前繼續執行下一個循環

l = [’a’,’b’,’c’,’d’,’e’]for i in l: #i遍歷l列表中的每一個元素 if i == ’c’: continue #continue以下的代碼不執行直接進入下一個循環 print(i)

解決python 在for循環并且pop數組的時候會跳過某些元素的問題

2、break 直接中斷循環,不再執行

l = [’a’,’b’,’c’,’d’,’e’]for i in l: if i == ’c’: break #break直接跳出循環,break以下代碼全部不執行 print(i)

解決python 在for循環并且pop數組的時候會跳過某些元素的問題

3、pass 什么都不操作,接著循環

l = [’a’,’b’,’c’,’d’,’e’]for i in l: #i遍歷l列表中的每一個元素 if i == ’c’: pass print(i)

解決python 在for循環并且pop數組的時候會跳過某些元素的問題

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持好吧啦網。如有錯誤或未考慮完全的地方歡迎留言討論,望不吝賜教。

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 软装设计-提供软装装饰和软装配饰及软装陈设的软装设计公司 | 成都亚克力制品,PVC板,双色板雕刻加工,亚克力门牌,亚克力标牌,水晶字雕刻制作-零贰捌广告 | 渣土车电机,太阳能跟踪器电机,蜗轮蜗杆减速电机厂家-淄博传强电机 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 河南橡胶接头厂家,河南波纹补偿器厂家,河南可曲挠橡胶软连接,河南套筒补偿器厂家-河南正大阀门 | 稳尚教育加盟-打造高考志愿填报平台_新高考志愿填报加盟_学业生涯规划加盟 | 垃圾清运公司_环卫保洁公司_市政道路保洁公司-华富环境 | 低压载波电能表-单相导轨式电能表-华邦电力科技股份有限公司-智能物联网综合管理平台 | 361°官方网站| 回转窑-水泥|石灰|冶金-巩义市瑞光金属制品有限责任公司 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 新车测评网_网罗汽车评测资讯_汽车评测门户报道 | 艺术漆十大品牌_艺术涂料加盟代理_蒙太奇艺术涂料厂家品牌|艺术漆|微水泥|硅藻泥|乳胶漆 | 环氧树脂地坪漆_济宁市新天地漆业有限公司 | ET3000双钳形接地电阻测试仪_ZSR10A直流_SXJS-IV智能_SX-9000全自动油介质损耗测试仪-上海康登 | 舞台木地板厂家_体育运动木地板_室内篮球馆木地板_实木运动地板厂家_欧氏篮球地板推荐 | 东莞动力锂电池保护板_BMS智能软件保护板_锂电池主动均衡保护板-东莞市倡芯电子科技有限公司 | 工业机械三维动画制作 环保设备原理三维演示动画 自动化装配产线三维动画制作公司-南京燃动数字 聚合氯化铝_喷雾聚氯化铝_聚合氯化铝铁厂家_郑州亿升化工有限公司 | 防水试验机_防水测试设备_防水试验装置_淋雨试验箱-广州岳信试验设备有限公司 | 过跨车_过跨电瓶车_过跨转运车_横移电动平车_厂区转运车_无轨转运车 | 企业彩铃制作_移动、联通、电信集团彩铃上传开通_彩铃定制_商务彩铃管理平台-集团彩铃网 | 五轴加工中心_数控加工中心_铝型材加工中心-罗威斯 | HYDAC过滤器,HYDAC滤芯,现货ATOS油泵,ATOS比例阀-东莞市广联自动化科技有限公司 | STRO|DTRO-STRO反渗透膜(科普)_碟滤 | 石家庄装修设计_室内家装设计_别墅装饰装修公司-石家庄金舍装饰官网 | 天津云仓-天津仓储物流-天津云仓一件代发-顺东云仓 | 爱德华真空泵油/罗茨泵维修,爱发科-比其尔产品供应东莞/杭州/上海等全国各地 | 数控专用机床,专用机床,自动线,组合机床,动力头,自动化加工生产线,江苏海鑫机床有限公司 | 金属回收_废铜废铁回收_边角料回收_废不锈钢回收_废旧电缆线回收-广东益夫金属回收公司 | 山楂片_雪花_迷你山楂片_山楂条饼厂家-青州市丰源食品厂 | 步进电机_agv电机_伺服马达-伺服轮毂电机-和利时电机 | 钢化玻璃膜|手机钢化膜|钢化膜厂家|手机保护膜-【东莞市大象电子科技有限公司】 | 电力测功机,电涡流测功机,磁粉制动器,南通远辰曳引机测试台 | 中央空调温控器_风机盘管温控器_智能_液晶_三速开关面板-中央空调温控器厂家 | 螺旋叶片_螺旋叶片成型机_绞龙叶片_莱州源泽机械制造有限公司 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 | 新型锤式破碎机_新型圆锥式_新型颚式破碎机_反击式打沙机_锤式制砂机_青州建源机械 | 齿轮减速机电机一体机_齿轮减速箱加电机一体化-德国BOSERL蜗轮蜗杆减速机电机生产厂家 | 呼末二氧化碳|ETCO2模块采样管_气体干燥管_气体过滤器-湖南纳雄医疗器械有限公司 | 粉末冶金注射成型厂家|MIM厂家|粉末冶金齿轮|MIM零件-深圳市新泰兴精密科技 | 数码听觉统合训练系统-儿童感觉-早期言语评估与训练系统-北京鑫泰盛世科技发展有限公司 |