我有一个单词列表,我需要查找字符串中存在的单词数。
例如:
text_string = 'I came, I saw, I conquered!'
word_list=['I','saw','Britain']
我需要一个可打印的python脚本
{‘i’:3,’saw’:1,’britain':0}
答案 0 :(得分:0)
您可以使用re.findall
在text_string
中查找所有单词,然后使用collections.Counter
生成包含其计数的单词字典,并使用dict comprehension生成基于以下内容的字典word_list
中的单词及其在Counter
产生的字典中的对应计数:
from collections import Counter
import re
c = Counter(re.findall(r'[a-z]+', text_string.lower()))
print({w: c.get(w, 0) for w in map(str.lower, word_list)})
这将输出:
{'i': 3, 'saw': 1, 'britain': 0}
答案 1 :(得分:0)
使用dict
例如:
text_string = 'I came, I saw, I conquered!'
word_list=['I','saw','Britain']
text_string = text_string.lower()
print(dict((i, text_string.count(i)) for i in map(str.lower, word_list)))
输出:
{'i': 3, 'britain': 0, 'saw': 1}
答案 2 :(得分:0)
您可以在此处使用字典理解
d = {i.lower(): text_string.count(i) for i in word_list}
:~/python/stack$ python3.7 sum.py {'i': 3, 'saw': 1, 'britain': 0}
完整循环说明:
d = {}
for i in word_list:
d[i.lower()] = text_string.count(i)