Python 另一个列表中字符串中的字数
我有一个单词列表,我需要找到字符串中出现的单词数 例如: 我需要一个可以打印的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
{‘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']))