我有一个字符串列表和一本字典。例如:
list = ["apple fell on Newton", "lemon is yellow","grass is greener"]
dict = {"apple" : "fruits", "lemon" : "vegetable"}
任务是将列表中的每个字符串与字典的键相匹配。如果匹配,则返回键的值
目前,我正在使用这种非常耗时的方法。有人能帮我找到一些有效的方法吗
lmb_extract_type = (lambda post: list(filter(None, set(dict.get(w)[0] if w in post.lower().split() else None for w in dict))))
df['type'] = df[list].apply(lmb_extract_type)
IIUC,根据您的评论,您可以使用
str.extract
和series.replace
轻松解决这个问题,这两个函数都是矢量化函数,没有任何循环相关问题 更多 >
编程相关推荐