Для минимальных изменений кода используйте list
, так что объект, по которому вы выполняете итерацию, отделен от Counter
ignore = ['the','a','if','in','it','of','or']
ArtofWarCounter = Counter(ArtofWarLIST)
for word in list(ArtofWarCounter):
if word in ignore:
del ArtofWarCounter[word]
В Python2 вы можете использовать ArtofWarCounter.keys()
вместо list(ArtofWarCounter)
, но когда так просто написать код, защищенный от будущего, почему бы не сделать это?
Лучше просто не считать элементы, которые вы хотите игнорировать
ignore = {'the','a','if','in','it','of','or'}
ArtofWarCounter = Counter(x for x in ArtofWarLIST if x not in ignore)
обратите внимание, что я превратил ignore
в set
, что делает тест x not in ignore
намного более эффективным