python list_.remove()函数失效!!!

原因:不为啥,就是 遍历 + remove()某一元素之后,其余元素 索引 将往前移动!!!

改进:1.  for循环遍历后面加上(::-1)     2.  新建空白列表,改用append()方法 

过程:想用remove()结合遍历for循环 删除指定元素,结果让人很抓狂,有些元素总是删不掉,完全不理解为啥😭,鼓捣了几个小时--简直怀疑人生……最后发现,原来是自己基础知识不牢固,竟忘记 remove()方法会改变原列表的元素索引~

list_ = ['【1】', '【4】', '【6】', '【7】', '【8】', '【9】', '【11】', '【12】', '【13】','【14】']
for i in list_[::-1]: print(i)


>>>【14】
【13】
【12】
【11】
【9】
【8】
【7】
【6】
【4】
【1】

解决方法:在for循环后加[::-1]即可,其中,第一个:表示对所有元素进行遍历,:-1表示以步长为-1进行(即从后往前)。这样子后,remove()虽然会让后面元素整体索引减一,但是由于咱们是从后往前遍历,自然不会受其影响啦,哈哈哈哈哈😏~

不过,上述方法得到的结果顺序是颠倒的😣

因此,还可以考虑新建空列表,使用append()追加你想要的元素即可。

list_ = ['【1】', '【4】', '【6】', '【7】', '【8】', '【9】', '【11】', '【12】', '【13】','【14】']
a = []
for i in list_:
  if (i !='【6】' and i != '【7】'): a.append(i)
print(a)


>>>['【1】', '【4】', '【8】', '【9】', '【11】', '【12】', '【13】', '【14】']

这是傻羊,欢迎提问🥰🥰🥰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值