ในบทช่วยสอนนี้ เราจะเรียนรู้เกี่ยวกับ สำเนา โครงสร้างข้อมูลชุดเมธอด มาดูกันแบบละเอียด
วิธีการ คัดลอก ใช้เพื่อรับ สำเนาตื้น ของชุด
มาดูตัวอย่างต่างๆ ภายใต้ ปกติ และ ตื้น สำเนาชุด
สำเนาปกติ
ทำตามขั้นตอนด้านล่างและทำความเข้าใจผลลัพธ์
- เริ่มต้นชุด
- กำหนดชุดให้กับตัวแปรอื่นด้วยตัวดำเนินการกำหนด
- ตอนนี้ เพิ่มอีกหนึ่งองค์ประกอบในชุดที่คัดลอกมา
- พิมพ์ทั้งสองชุด
คุณจะไม่พบความแตกต่างระหว่าง ผู้ดำเนินการมอบหมายจะส่งคืนชุด การอ้างอิง . ทั้งสองชุดชี้ไปที่วัตถุเดียวกันในหน่วยความจำ ดังนั้นการเปลี่ยนแปลงใดๆ ที่เกิดขึ้นกับสิ่งเหล่านี้จะสะท้อนให้เห็นในทั้งสองสิ่งนี้
ตัวอย่าง
# 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}
หากคุณเห็นผลลัพธ์ คุณจะไม่พบการเปลี่ยนแปลงใดๆ ใน ชุด . ก่อน .
บทสรุป¶
หากคุณมีข้อสงสัยเกี่ยวกับบทแนะนำ โปรดระบุในส่วนความคิดเห็น