เพื่อลบคำซ้ำจากสตริงใน Python ต้อง split สตริงด้วยช่องว่างก่อน เพื่อได้คำแต่ละคำในอาร์เรย์ แล้วมีหลายวิธีลบซ้ำ
วิธีหนึ่ง: แปลงคำทั้งหมดเป็น lowercase แล้ว sort แล้วเลือกเฉพาะคำที่ไม่ซ้ำ
ตัวอย่าง
sent = "Hi my name is John Doe John Doe is my name"
# แยกแต่ละคำ
words = sent.split(" ")
# แปลงเป็น lowercase ทั้งหมด
words = map(lambda x: x.lower(), words)
# เรียงลำดับคำ
words.sort()
unique = []
total_words = len(words)
i = 0
while i < (total_words - 1):
while i < total_words and words[i] == words[i + 1]:
i += 1
unique.append(words[i])
i += 1
print(unique)
ผลลัพธ์
['doe', 'hi', 'john', 'is', 'my']