我有以下两个清单:
list1 = [(('diritti', 'umani'), 'diritto uomo'), (('sgomberi', 'forzati'), 'sgombero forza'), (('x', 'x'), 'x x'), ...] ## list of tuples, each tuple contains term and lemma of term
list2 = ['diritto uomo', 'sgombero forza'] ### a small list of lemmas of terms
任务是从list1
中提取其引理出现在list2
中的术语。注意,list2
中的一个元素可以与list1
中的多个项共享引理,因此对于list2
中的每个项,我需要在list1
中找到它的共享项。我试过这个代码:
result = []
for item in list2:
for x in list1:
for i, ii in x:
if item.split()[0] in ii or item.split()[1] in ii :
result.append(i)
这段代码需要很长时间才能完成任务,是否有人可以建议其他方法来完成此任务。谢谢
如果您只想匹配相等引理,则无需拆分单词并检查成员身份,只需在列表中使用
==
操作即可:否则,通过在
list1
的引理中拆分引理和成员资格检查,将不会给出任何结果相关问题 更多 >
编程相关推荐