【发布时间】:2022-01-21 04:55:14
【问题描述】:
我有一个字符串如下:
my_string = "Jack 无法解释他的愚蠢错误。计算机占该国商业用电量的 5%。是时候关注 公司的核心业务。公司需要专注于其最大的客户......”
还有一个清单:
短语动词 = [ “占”, “为”, “采取行动”, “行动起来”, “行动起来”, “添加在”, “专注于” ...]
我想用计数器模块找出每个短语动词在字符串中出现的次数,并从字符串中删除短语动词。到目前为止我的代码是:
phrasal_verbs_list = []
for pv in Phrasal_Verbs:
if pv in my_string:
phrasal_verbs_list.append(pv)
my_string = my_string.replace(pv, "")
pv_count = dict(Counter(phrasal_verbs_list))
上面的代码找到了所有的短语动词,但即使字符串中有三个“Account for”,它也只给了我一个。
预期 pv_count = {'account for' : 2, 'focus on' : 2, rest_of_the_phrasal_verbs : 出现次数 }
Got = {'account for': 1, 'act out': 1, 'allow for': 1, 'be in': 1, 'be on': 1, 'blow down': 1, .. .'专注':1}
【问题讨论】:
-
你的问题到底是什么?您想知道如何修复当前的实现,还是愿意接受更好的实现?此外,为清楚起见,提供minimal reproducible example 会有所帮助,包括准确的输入、准确的预期输出和实际输出。如需更多提示,请参阅How to Ask。
-
@Manlai 我回滚了您的编辑,因为 OP 在第一个 sn-p 中添加了格式,在将其转换回代码之前应该将其删除,最后两个 sn-ps 不是有效代码,所以我希望OP澄清。此外,
Phrasal_Verbs更易于阅读,分成不同的行。