- 3
- 0
- 约小于1千字
- 约 1页
- 2026-06-10 发布于浙江
- 举报
有如下列表:
list=[bilibili,maller,maeer,asong,hjsds,gdsds,dfgsds,rysfsd,malles]
现要删除列表中包含ma的字符串,首先想到用for循环遍历来实现。
foriteminlist:
ifmainitem:
list.remove(item)
print(list)
但结果并不尽人意,我们发现,字符串maeer包含ma,但它并没有被删除。经过观察,我发现,在便利过程中删除某个
元素之后,会将它后面的元素向前移动一位。比如maller被删除之后,“maeer”向前移动一位,占据了“maller”的位置,其他元
素相应前移。而for循环继续遍历下一个位置的,所以此时遍历到“asong”,自然便漏过了“maeer”。
运行结果如下:
想要解决这个问题并不难,可以用列表推倒式来解决:
n=len(list)
bek=[]
foriinrange(n):
ifmainlist[i]:
bek.append(i)
list=[list[i]foriinrange(n)if(inotinbek)]
print(list)
最终运行结果如下:
您可能关注的文档
- 五年级语文上册第六单元26词二首西江月夜行黄沙道中品赏拓展知识课件素材冀教版.ppt
- “11”课改的四个关键词[精选].ppt
- “2014年内蒙古自治区中等职业黉舍技能大赛”普通车赛项规程[精选].ppt
- “一不小心约上你”校园交友运动策划书[精选].ppt
- “一通三防”基本知识[精选].ppt
- 年级语文下册期末试题及谜底[精选版].ppt
- 八年级英语下册Unit6Anoldmantriedtomovethemountainssection.ppt
- 八年级英语下册Unit9HaveyoueverbeentoamuseumSectionA2d_3c导.ppt
- 八年级英语下册Unit10I’vehadthisbikeforthreeyearsSectionB1.ppt
- 第十天 跟着B站学python lol之购买武器.pdf
- 2016年高考英语试卷(浙江)(6月)(解析卷)(OCR).pdf
- 2017年高考英语试卷(江苏)(空白卷) (OCR).pdf
- 2019年高考英语试卷(上海)(春考)(空白卷)(OCR).pdf
- 2017年高考英语试卷(上海)(春考)(空白卷)(OCR).pdf
- 2018年高考英语试卷(浙江)(11月)(空白卷)(OCR).pdf
- 2020年高考英语试卷(上海)(春考)(空白卷)(OCR).pdf
- 12J5-1 平屋面(OCR)平屋面.pdf
- 2020年高考英语试卷(新课标Ⅰ卷)(解析卷)(OCR).pdf
- 2019年高考英语试卷(北京)(机考 无听力)(解析卷)(OCR).pdf
- 2020年高考英语试卷(新高考Ⅰ卷)(山东)(空白卷)(OCR).pdf
原创力文档

文档评论(0)