Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ลบคำซ้ำทั้งหมดจากสตริงใน Python

เพื่อลบคำซ้ำจากสตริงใน 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']