【发布时间】:2015-09-12 05:46:20
【问题描述】:
我正在评估一长串句子,看看它们是否包含州名并用字典映射它们,这就是我想出的代码——它非常慢。这应该如何正确完成?
for sent in sentences: #set of sentences.upper()
for state in stateset: #set of state abbrev's and names in .upper()
boundst = re.compile(r'\b%s\b' % state, re.I)
if re.search(boundst, sent):
sentstatedict[sent] = state
break
我不知道如何提前创建绑定版本 - 我可以创建一组并使用它吗?
为了清楚起见,我想为我拥有的每个句子找出该句子中包含的最多一个匹配的州名或缩写。我的困难在于不知道如何预先组装状态字符串的可用“绑定”版本列表以进行“整个单词”匹配。这导致我在内部循环中有re.compile。
【问题讨论】:
标签: python regex loops dictionary