ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับ สำเนา โครงสร้างข้อมูลชุดเมธอด มาดูกันแบบละเอียด
วิธีการ คัดลอก ใช้เพื่อรับ สำเนาตื้น ของชุด
มาดูตัวอย่างต่างๆ ภายใต้ ปกติ และ ตื้น สำเนาชุด
สำเนาปกติ
ทำตามขั้นตอนด้านล่างและทำความเข้าใจผลลัพธ์
- เริ่มต้นชุด
- กำหนดชุดให้กับตัวแปรอื่นด้วยตัวดำเนินการกำหนด
- ตอนนี้ เพิ่มอีกหนึ่งองค์ประกอบในชุดที่คัดลอกมา
- พิมพ์ทั้งสองชุด
คุณจะไม่พบความแตกต่างระหว่าง ผู้ดำเนินการมอบหมายจะส่งคืนชุด การอ้างอิง . ทั้งสองชุดชี้ไปที่วัตถุเดียวกันในหน่วยความจำ ดังนั้นการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับสิ่งเหล่านี้จะสะท้อนให้เห็นในทั้งสองสิ่งนี้
ตัวอย่าง
# initialzing the set
number_set = {1, 2, 3, 4, 5}
# assigning the set another variable
number_set_copy = number_set
# changing the first value of number_set_copy
number_set_copy.add(6)
# printin the both sets
print(f"Set One: {number_set}")
print(f"Set Two: {number_set_copy}") ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
Set One: {1, 2, 3, 4, 5, 6}
Set Two: {1, 2, 3, 4, 5, 6} อย่างที่เราคาดไว้ชุดแรกก็เปลี่ยนไปเมื่อเราเปลี่ยนชุดที่สอง จะหลีกเลี่ยงได้อย่างไร
เราสามารถใช้ ตื้น เพื่อคัดลอกชุด มีหลายวิธีในการคัดลอกชุดแบบตื้น วิธีหนึ่งคือการใช้วิธีคัดลอกของ ชุด .
ตัวอย่าง
มาดูตัวอย่างด้วย คัดลอก .
# initialzing the set
number_set = {1, 2, 3, 4, 5}
# shallow copy using copy
number_set_copy = number_set.copy()
# changing the first value of number_set_copy
number_set_copy.add(6)
# printin the both sets
print(f"Set One: {number_set}")
print(f"Set Two: {number_set_copy}") ผลลัพธ์
หากคุณเรียกใช้โค้ดด้านบน คุณจะได้ผลลัพธ์ดังต่อไปนี้
Set One: {1, 2, 3, 4, 5}
Set Two: {1, 2, 3, 4, 5, 6} หากคุณเห็นผลลัพธ์ คุณจะไม่พบการเปลี่ยนแปลงใดๆ ใน ชุด . ก่อน .
บทสรุป¶
หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น