Cho danh sách chứa câu ngắn. Danh sách khác chứa từ khóa. Kiểm tra xem hai từ khóa có xuất hiện cùng nhau trong bất kỳ câu nào của danh sách đầu không.
Dùng append và for loop
Duyệt câu, kiểm tra từ khóa có trong câu không, dùng len so sánh.
Ví dụ
list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday']
list_wrd = ['Eggs', 'Fruits']
print("Danh sách câu:\n", list_sen)
print("Danh sách từ:\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)
Kết quả
['Eggs and Fruits on Wednesday']
Dùng all
Kiểm tra tất cả từ khóa có trong câu bằng all().
Ví dụ
list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] list_wrd = ['Eggs', 'Fruits'] res = [all(k in s for k in list_wrd) for s in list_sen] print([list_sen[i] for i in range(len(res)) if res[i]])
Kết quả
['Eggs and Fruits on Wednesday']
Dùng lambda và map
Tương tự nhưng dùng lambda + map + split.
Ví dụ
list_sen = ['Eggs on Sunday', 'Fruits on Monday', 'Eggs and Fruits on Wednesday'] list_wrd = ['Eggs', 'Fruits'] res = list(map(lambda i: all(map(lambda j: j in i.split(), list_wrd)), list_sen)) print([list_sen[i] for i in range(len(res)) if res[i]])
Kết quả
['Eggs and Fruits on Wednesday']