我想写一些东西从数组中删除一个特定的元素。 我知道我必须for遍历数组以查找与内容匹配的元素。
假设我有一系列电子邮件,并且想摆脱与某些电子邮件字符串匹配的元素。
我实际上想使用for循环结构,因为我还需要对其他数组使用相同的索引。
这是我的代码:
for index, item in emails:
if emails[index] == 'something@something.com':
emails.pop(index)
otherarray.pop(index)
您在寻找list.remove(x)吗?
不完全的。 我想使用for循环,以便我可以重用索引
您不应该在迭代列表时更改列表。
我为什么不应该这样做? 也对我不起作用。
看一下这个:在迭代过程中,您不得修改列表
@cularis我更喜欢Bogdans的答案,但是如果您随后中断了for循环,可以一次修改列表吗?
您也可以以相反的顺序遍历列表。 然后,删除的元素索引将引用最后检查的元素,但是当索引递减时,它将指向您要检查的下一个元素。 我不相信此行为受支持,但在迄今为止的版本中效果很好,因此很有用。
您不需要迭代数组。只是:
>>> x = ['ala@ala.com', 'bala@bala.com']
>>> x
['ala@ala.com', 'bala@bala.com']