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

การลบสตริงย่อยที่ซ้ำกันออกจากรายการใน Python


บางครั้งเราอาจจำเป็นต้องปรับแต่งรายการที่กำหนดโดยกำจัดองค์ประกอบที่ซ้ำกันในนั้น ซึ่งสามารถทำได้โดยใช้วิธีการต่างๆ ที่มีอยู่ในไลบรารีมาตรฐานของไพ ธ อนร่วมกัน

พร้อมเซ็ตและแยก

วิธีแยกสามารถใช้เพื่อแยกองค์ประกอบสำหรับการตรวจสอบซ้ำ และวิธีการตั้งค่าใช้เพื่อจัดเก็บองค์ประกอบที่ไม่ซ้ำจากองค์ประกอบรายการที่แยกไว้

ตัวอย่าง

# initializing list
listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']

print("Given list : ",listA)

# using set() and split()
res = [set(sub.split('-')) for sub in listA]

# Result
print("List after duplicate removal : " ,res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list : ['xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']
List after duplicate removal : [{'xy'}, {'pq', 'qr'}, {'xp'}, {'ee', 'dd'}]

พร้อมรายการ

เรายังสามารถใช้เมธอด list และใช้สำหรับลูปควบคู่ไปกับมัน เพื่อจับเฉพาะอิลิเมนต์ที่ไม่ซ้ำจากรายการหลังจากแยกการแยกออก

ตัวอย่าง

# initializing list
listA = [ 'xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']

print("Given list : ",listA)

# using list
res = list({i for sub in listA for i in sub.split('-')})

# Result
print("List after duplicate removal : " , res)

ผลลัพธ์

การเรียกใช้โค้ดข้างต้นทำให้เราได้ผลลัพธ์ดังต่อไปนี้ -

Given list : ['xy-xy', 'pq-qr', 'xp-xp-xp', 'dd-ee']
List after duplicate removal : ['dd', 'pq', 'ee', 'xp', 'xy', 'qr']