Python 另一个列表中字符串中的字数

Python 另一个列表中字符串中的字数,python,python-3.x,Python,Python 3.x,我有一个单词列表,我需要找到字符串中出现的单词数 例如: 我需要一个可以打印的python脚本 {‘i’:3,’saw’:1,’britain':0} 您可以使用re.findall查找text\u string中的所有单词,然后使用collections.Counter生成单词及其计数的dict,并使用dict comprehension根据word\u列表中的单词及其由Counter生成的dict中的相应计数生成dict: from collections import Counter i

我有一个单词列表,我需要找到字符串中出现的单词数

例如:

我需要一个可以打印的python脚本

{‘i’:3,’saw’:1,’britain':0}

您可以使用
re.findall
查找
text\u string
中的所有单词,然后使用
collections.Counter
生成单词及其计数的dict,并使用dict comprehension根据
word\u列表中的单词及其由
Counter
生成的dict中的相应计数生成dict:

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}

使用
dict

Ex:

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}
输出:

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}

你可以在这里使用字典

d = {i.lower(): text_string.count(i) for i in word_list}
完整循环说明:

d = {}
for i in word_list:
    d[i.lower()] = text_string.count(i)

欢迎来到StackOverflow。你应该表明你自己至少已经做出了一些努力来找到解决方案。到目前为止你试过什么?我试过这个:text_string='I am British'印刷品(word_发行版(text_string,word_list=['I','saw','India']))