คำถามติดแท็ก deep-copy

30
อะไรคือความแตกต่างระหว่างสำเนาลึกกับสำเนาตื้น
คำตอบของคำถามนี้เป็นความพยายามของชุมชน แก้ไขคำตอบที่มีอยู่เพื่อปรับปรุงโพสต์นี้ ขณะนี้ไม่ยอมรับคำตอบหรือการโต้ตอบใหม่ อะไรคือความแตกต่างระหว่างสำเนาลึกกับสำเนาตื้น

19
วิธีการโคลน ArrayList และการโคลนเนื้อหาได้อย่างไร
ฉันจะโคลนArrayListและโคลนรายการใน Java ได้อย่างไร เช่นฉันมี: ArrayList<Dog> dogs = getDogs(); ArrayList<Dog> clonedList = ....something to do with dogs.... และฉันคาดหวังว่าวัตถุในclonedListนั้นจะไม่เหมือนกับรายการสุนัข

11
ความแตกต่างระหว่างการคัดลอกตื้นลึกและการดำเนินการมอบหมายปกติคืออะไร?
import copy a = "deepak" b = 1, 2, 3, 4 c = [1, 2, 3, 4] d = {1: 10, 2: 20, 3: 30} a1 = copy.copy(a) b1 = copy.copy(b) c1 = copy.copy(c) d1 = copy.copy(d) print("immutable - id(a)==id(a1)", id(a) == id(a1)) print("immutable - id(b)==id(b1)", id(b) == id(b1)) print("mutable …

8
วิธีคัดลอกรายการลึก?
ฉันมีปัญหากับการคัดลอกรายการ: ดังนั้นหลังจากที่ผมได้รับE0จาก'get_edge'ผมทำสำเนาโดยการเรียกE0 'E0_copy = list(E0)'นี่ฉันเดาE0_copyเป็นสำเนาลึกE0และผมผ่านเข้าไปE0_copy 'karger(E)'แต่ในฟังก์ชั่นหลัก ทำไมผลลัพธ์ของ'print E0[1:10]'for for loop จึงไม่เหมือนกันหลังจากนั้น for for loop ด้านล่างเป็นรหัสของฉัน: def get_graph(): f=open('kargerMinCut.txt') G={} for line in f: ints = [int(x) for x in line.split()] G[ints[0]]=ints[1:len(ints)] return G def get_edge(G): E=[] for i in range(1,201): for v in G[i]: if v>i: E.append([i,v]) print id(E) return …
150 python  list  copy  deep-copy 

7
ทำไมและเมื่อใช้ angular.copy (สำเนาลึก)
ฉันบันทึกข้อมูลทั้งหมดที่ได้รับจากบริการโดยตรงไปยังตัวแปรท้องถิ่นตัวควบคุมหรือขอบเขต สิ่งที่ฉันคิดว่าจะถือว่าเป็นสำเนาตื้น ๆ ถูกต้องหรือไม่ Example: DataService.callFunction() .then(function(response) { $scope.example = response.data; }); เมื่อเร็ว ๆ นี้ฉันได้รับคำสั่งให้ใช้ angular.copy เพื่อสร้างสำเนาลึก $scope.example = angular.copy(response.data); อย่างไรก็ตามข้อมูลสำเนาลึกดูเหมือนว่าจะทำงานในลักษณะเดียวกันเมื่อใช้งานโดยแอปพลิเคชันเชิงมุมของฉัน มีประโยชน์ที่เฉพาะเจาะจงในการใช้สำเนาลึก (angular.copy) และคุณช่วยอธิบายพวกเขาให้ฉันได้ไหม

6
การคัดลอก NSArray อย่างละเอียด
มีฟังก์ชั่นในตัวที่ช่วยให้ฉันคัดลอกแบบลึกได้NSMutableArrayหรือไม่? ฉันมองไปรอบ ๆ บางคนบอกว่า[aMutableArray copyWithZone:nil]งานเป็นสำเนาลึก แต่ฉันลองแล้วดูเหมือนว่าจะเป็นการลอกแบบตื้น ๆ ตอนนี้ฉันกำลังทำสำเนาด้วยตัวเองด้วยการforวนซ้ำ: //deep copy a 9*9 mutable array to a passed-in reference array -deepMuCopy : (NSMutableArray*) array toNewArray : (NSMutableArray*) arrayNew { [arrayNew removeAllObjects];//ensure it's clean for (int y = 0; y<9; y++) { [arrayNew addObject:[NSMutableArray new]]; for (int x = 0; x<9; x++) …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.