작은 문장을 요소로 포함하는 목록이 있다고 가정해 보겠습니다. 첫 번째 목록의 이 문장에 사용된 단어 중 일부를 포함하는 또 다른 목록이 있습니다. 두 번째 목록의 두 단어가 첫 번째 목록의 일부 문장에 함께 존재하는지 여부를 알고 싶습니다.
추가 및 for 루프 사용
for 루프를 in 조건과 함께 사용하여 문장 목록에 단어가 있는지 확인합니다. 그런 다음 len 함수를 사용하여 목록의 끝에 도달했는지 확인합니다.
예
list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] list_wrd = ['Eggs', 'Fruits'] print("Given list of sentences: \n",list_sen) print("Given list of words: \n",list_wrd) res = [] for x in list_sen: k = [w for w in list_wrd if w in x] if (len(k) == len(list_wrd)): res.append(x) print(res)
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list of sentences: ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] Given list of words: ['Eggs', 'Fruits'] ['Eggs and Fruits on Wednesday']
모두와 함께
여기서 우리는 문장이 포함된 목록에 단어가 있는지 확인하기 위한 for 루프를 설계한 다음 all 함수를 적용하여 실제로 모든 단어가 문장에 있는지 확인합니다.
예
list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] list_wrd = ['Eggs', 'Fruits'] print("Given list of sentences: \n",list_sen) print("Given list of words: \n",list_wrd) res = [all([k in s for k in list_wrd]) for s in list_sen] print("\nThe sentence containing the words:") print([list_sen[i] for i in range(0, len(res)) if res[i]])
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
출력
Given list of sentences: ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] Given list of words: ['Eggs', 'Fruits'] The sentence containing the words: ['Eggs and Fruits on Wednesday']
람다 및 지도 사용
위와 유사한 접근 방식을 취할 수 있지만 람다 및 맵 함수를 사용합니다. 우리는 또한 split 함수를 사용하고 문장과 함께 목록에 있는 모든 주어진 단어의 가용성을 확인합니다. map 함수는 이 논리를 다시 목록의 각 요소에 적용하는 데 사용됩니다.
예
list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] list_wrd = ['Eggs', 'Fruits'] print("Given list of sentences: \n",list_sen) print("Given list of words: \n",list_wrd) res = list(map(lambda i: all(map(lambda j:j in i.split(), list_wrd)), list_sen)) print("\nThe sentence containing the words:") print([list_sen[i] for i in range(0, len(res)) if res[i]])
출력
위의 코드를 실행하면 다음과 같은 결과가 나옵니다. -
Given list of sentences: ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] Given list of words: ['Eggs', 'Fruits'] The sentence containing the words: ['Eggs and Fruits on Wednesday']