ในการวิเคราะห์ข้อมูลด้วย Python เราอาจพบสถานการณ์ที่ต้องรวมสองลิสต์ แต่อาจเป็นความท้าทายในการจัดการค่าซ้ำในลิสต์เหล่านั้น ในบทความนี้เราจะดูวิธีรวมสองลิสต์โดยเก็บทุกองค์ประกอบจากลิสต์แรก และเฉพาะองค์ประกอบที่ไม่ซ้ำจากลิสต์ที่สอง
การใช้ extend
ในวิธีนี้เราเอาลิสต์แรกสร้างเป็น result list จากนั้นออกแบบลูป for เพื่อตรวจสอบการมีอยู่ขององค์ประกอบลิสต์แรกในลิสต์ที่สอง และถ้าองค์ประกอบไม่พบในลิสต์ที่สอง จะถูก append เข้า result list โดยใช้ฟังก์ชัน extend
ตัวอย่าง
# Given list A listA = ['A', 'B', 'B', 'X'] # Given list B listB = ['B', 'X', 'Z', 'P'] # Creating the result set res = list(listA) # Extending result with list B res.extend(i for i in listB if i not in res) # Get result print(res)
การรันโค้ดด้านบนให้ผลลัพธ์ดังนี้:
ผลลัพธ์
['A', 'B', 'B', 'X', 'Z', 'P']
การใช้ set
เราสามารถใช้ฟังก์ชัน set เพื่อได้องค์ประกอบที่ไม่ซ้ำในลิสต์ จากนั้นหาความต่างขององค์ประกอบระหว่างสองลิสต์เพื่อได้เฉพาะองค์ประกอบที่ไม่ซ้ำจากลิสต์ที่สอง สุดท้ายนำผลลัพธ์ของความต่างนี้มาบวกกับลิสต์แรก
ตัวอย่าง
# Given First List listA = ['A', 'B', 'B', 'X'] # Given Second list listB = ['B', 'X', 'Z', 'P'] # Making the lists Unique listA_uniq = set(listA) listB_uniq = set(listB) # Capture unique elements from list B diff_lists = listB_uniq - listA_uniq res = listA + list(diff_lists) # Get result print(res)
การรันโค้ดด้านบนให้ผลลัพธ์ดังนี้:
ผลลัพธ์
['A', 'B', 'B', 'X', 'P', 'Z']