몇 시간 동안 고생하고 있어도 해결할 수 없으므로 도와주세요! 몇 가지 튜플을 포함하는 목록의 2 목록이 있습니다.Python : 반복적으로 두 개의 튜플 목록을 요소별로 봅니다.
list_1 = [[('This', 'DT'), ('is', 'VBZ'), ('an', 'DT'), ('apple', 'NN')], [('This', 'DT'), ('Should', 'MD'), ('be', 'VB'), ('taught', 'VBN'), ('at','IN'), ('school', 'NN')], [('you', 'PRP'), ('might', 'MD'), ('take', 'VB'), ('them', 'PRP')]]
list_2 = [[('This', 'DT'), ('is', 'VBN'), ('an', 'DT'), ('apple', 'NNS')], [('This', 'DT'), ('Should', 'VB'), ('be', 'VB'), ('taught', 'VBN'), ('at','IN'), ('school', 'NNP')], [('you', 'PRP'), ('might', 'MD'), ('take', 'VB'), ('them', 'PRP')]]
나는 list_1
및 list_2
요소 현명한 각 문장의 각 튜플을 비교하고, 다른 태그가에만 튜플을 반환합니다.
[(('is', 'VBZ), ('is', 'VBN)), ('apple', 'NN'), ('apple', 'NNS'))]
왜 모든 문장을 반복하지 않습니다
def get_similarity():
for list_1_sentence, list_2_sentence in zip(list_1, list_2):
if len(list_1) != len(list_2):
try:
raise Exception('this is an exception, some tags are missing')
except Exception as error:
print('caught this error : ', repr(error))
else:
return [(x, y) for x, y in zip(list_1_sentence, list_2_sentence) if x != y]
get_similarity()
문제
는 다른 튜플을 반환하지만 첫 번째 문장에 대한 것입니다?
감사합니다. 재미있는 접근 방법은 나중에 문장과 태그 사이의 유사성 백분율을 찾고 싶습니다. 따라서 한 번만 반환하면 다른 태그가 더 편리합니다. – joasa
이것은 흥미로운 접근법이지만 가능한 최소한의 판독 방법 중 하나 일 것입니다. 골프를 치는 방법, 그래서 +1 : P – HyperNeutrino