Hỏi cách tìm và tách file các các chuỗi trong list

Chào mọi người mình có 1 file txt có nội dung họ và tên như sau:

Nguyễn Văn Tuấn
Nguyễn Văn An
Trần Văn Huy
Lê Văn A
Trần Thị Riêng

Mình muốn tìm trong file các người họ Nguyễn, họ Trần, mà không phải tên Tuấn hay Huy

Mình làm như sau

import os
filecannhap = "abcd.txt"
filename = os.path.basename(eduin)
fileout = os.path.join("/output/",filename)

ho_can_lay = ['Nguyễn', 'Trần' ]
ten_can_bo = ['Tuấn','Huy']

with open(filecannhap, 'r', encoding="ISO-8859-1") as fileinput, open(fileout, 'w') as fileoutput:
    for line in fileinput:
        for s in ho_can_lay:
            for e in ten_can_bo:
                if s in line and e not in line:
                   fileoutput.write(line)

Mình làm như vậy thì lúc xuất file ra đúng nhưng bị duplicate rất nhiều tên trùng nhau.

Mong mọi người giúp ạ

import os
filecannhap = "ten.txt"

ho_can_lay = ['Nguyễn', 'Trần' ]
ten_can_bo = ['Tuấn','Huy']

fullnames = open(filecannhap).read().split('\n')
print(fullnames)

for fullname in fullnames:
    name_parts = fullname.split()
    if name_parts[0] in ho_can_lay and name_parts[-1] not in ten_can_bo:
        print(fullname)

[‘Nguyễn Văn Tuấn’, ‘Nguyễn Văn An’, ‘Trần Văn Huy’, ‘Lê Văn A’, ‘Trần Thị Riêng’]
Nguyễn Văn An
Trần Thị Riêng
[Finished in 0.3s]

4 Likes
83% thành viên diễn đàn không hỏi bài tập, còn bạn thì sao?