我有一个术语列表:
terms = [
'mani factor',
'manner',
'manufactur',
'manufactur distribut',
'manufactur facil',
'manufactur oper',
'manufactur process',
'march',
'margin',
'market advers',
'market condit',
'market disrupt',
'market price',
'market product',
'market result',
'market risk',
'market sale',
'market share',
'market valu',
'materi advers',
'materi advers affect',
'materi advers effect',
'materi advers impact',
'materi affect',
'materi impact'
]
另一组术语b:
b = set(['risk','factor','effect','affect','impact'])
我想找到至少包含b中一个术语的术语。我尝试了以下方法:
for t in b:
for term in terms:
if t in term:
a.extend(term)
它会产生以下输出:
'a', 'n', 'i', ' ', 'f', 'a', 'c', 't', 'o', 'r', 'e', 'c', 'o', 'n', 'o', 'm', ' ', 'f', 'a', 'c', 't', 'o', 'r', 'f', 'a', 'c', 't', 'o', 'r', ' ', 'a', 'f', 'f', 'e', 'c', 't', 'f', 'a', 'c', 't', 'o', 'r', ' ', 'c', 'a', 'u', 's', 'f', 'a', 'c', 't', 'o', 'r', ' ', 'c', 'o', 'n', 't', 'r', 'o
使用
append
而不是extend
谷歌差异:-)一个很好的pythonic解决方案是这个带有条件的双列表理解:
输出:
你知道你在追求什么吗?你知道吗
相关问题 更多 >
编程相关推荐