У меня есть такой список:
['University', 'Cambridge', 'Lesley University', 'Lesley',
'Office of Information Technology',
'Office', 'of', 'Information', 'Technology', 'MA',
'United States', 'United', 'States', 'Lesley University ', ' University',
'Lesley University Cambridge']
- Университет (с заглавной буквы) следует рассматривать так же, как университет (строчные буквы)
- Поскольку «Университет Лесли» уже содержит «Университет', поэтому' University 'должен быть пропущен
Следовательно, я хотел бы печатать только самые уникальные надмножества, поэтому вывод будет выглядеть так: -
['Office of Information Technology', 'MA',
'United States',
'Lesley University Cambridge']
===================== ЧТО Я ПОПЫТАЛ ===================================
tok= ['University', 'Cambridge', 'Lesley University', 'Lesley',
'Office of Information Technology',
'Office', 'of', 'Information', 'Technology', 'MA',
'United States', 'United', 'States', 'Lesley University ', ' University',
'Lesley University Cambridge']
dic={}
for i in [x.lower() for x in tok]:
dic[i]=1
dic
{'университет': 1, 'Кембридж': 1, 'университет Лесли': 1, 'офис информационных технологий': 1, 'ма':1, «Соединенные Штаты»: 1, «Университет Лесли»: 1, «Университет»: 1, «Университет Лесли Кембридж»: 1, «Лесли»: 1}
sup_=sorted(jt.keys(), key=len)
se_={}
for i in sup_:
ctr=0
status=True
for k in sup_:
if i in k.split():
ctr+=1
status=status and (i in k.split())
if status==True:
#se[i]=1
#print (ctr)
if ctr==0:
se_[i]=1
se_
{'соединенные штаты': 1, 'университет Лесли': 1, 'университет Лесли Кембридж': 1, 'офис информационных технологий': 1}