从python集合中删除多个条目

时间:2019-06-10 17:48:24

标签: python collections

我正在尝试从我的收藏夹计数器中删除多个条目,但是出现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'

看过How to remove an item from a "collections.defaultdict"?

1 个答案:

答案 0 :(得分:2)

最好只保留您需要的内容,而不是创建全部计数并删除不需要的内容:

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})