从一个双元组列表中,我需要编辑至少没有一个词恰好的双元组。匹配一个单字母列表中的至少一个词。
两个列表
bigram_list = ['computer vision', 'data excellence', 'data visualization']
unigram_list = ['excel', 'tableau', 'visio', 'visualization']
目标
cleaned_bigrams = ['data visualization']
What I've try
我尝试在这里采用这种方法,但失败了:在Python 3.x中从另一个列表中删除单独的项列表
我也试过这个,但无法让它工作:如果包含在双元或三元组中,则在列表中删除单元python
我试着从我之前问过的一个问题中进行调整,但无法进行:根据标记化的pandas数据框中出现的特定字符创建新的布尔字段
提前感谢您可以提供的任何帮助,如果您认为这是一个好问题,请给予支持!
有一种方法:
bigram_list = ["computer vision", "data excellence", "data visualization"]
unigram_list = ["excel", "tableau", "visio", "visualization"]
# Init a dict for counting number of match
counts = {key: 0 for key in bigram_list}
# Count number of match for each bigram
for big in bigram_list:
for uni in unigram_list:
if uni in big.split(" "):
counts[big] += 1
# Filter
cleaned_bigrams = [item for item in bigram_list if counts[item] > 0]
print(cleaned_bigrams)
# Output
['data visualization']