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

Python - รวมสองรายการโดยรักษารายการที่ซ้ำกันในรายการแรก


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

การใช้ส่วนขยาย

ในแนวทางนี้ เราจะใช้รายการแรกและสร้างรายการผลลัพธ์ จากนั้นเราออกแบบ for loop เพื่อตรวจสอบการมีอยู่ขององค์ประกอบของรายการแรกในรายการที่สอง และหากไม่พบองค์ประกอบในรายการที่สอง องค์ประกอบนั้นจะถูกผนวกเข้ากับรายการผลลัพธ์โดยใช้ฟังก์ชันขยาย

ตัวอย่าง

# Given list A
listA = ['A', 'B', 'B','X']

# Guven 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 เพื่อรับองค์ประกอบที่ไม่ซ้ำในรายการ จากนั้นเราจะพบความแตกต่างในองค์ประกอบระหว่างสองรายการนี้เพื่อรับเฉพาะองค์ประกอบที่ไม่ซ้ำจากรายการที่สอง สุดท้ายเราเพิ่มผลลัพธ์ของความแตกต่างนี้ในรายการแรก

ตัวอย่าง

# GIven First List
listA = ['A', 'B', 'B','X']

# Given Second list
listB= ['B', 'X', 'Z', 'P']

# makign the lists Uniq
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']