Удаление нескольких записей из коллекции Python - PullRequest
0 голосов
/ 10 июня 2019

Я пытаюсь удалить несколько записей из моего счетчика коллекций, однако я получаю ошибку TypeError.

sentence="Hello 123 Bye 456"
letters = collections.Counter(sentence)
ignore=[' ','1','2','3','4','5','6','7','8','9']
if ignore in letters:
    del letters[ignore]

Но я получаю ошибку:

TypeError: unhashable type: 'list'

Посмотрел Как удалить предмет из "collection.defaultdict"?

1 Ответ

2 голосов
/ 10 июня 2019

Во-первых, лучше вести подсчет только того, что вам нужно, чем создавать весь счет и удалять то, что не требуется:

import collections

sentence = "Hello 123 Bye 456"
ignore = [' ','1','2','3','4','5','6','7','8','9']

letters = collections.Counter(x for x in sentence if x not in ignore)

print(letters)
# Counter({'e': 2, 'l': 2, 'H': 1, 'o': 1, 'B': 1, 'y': 1})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...