Minggu, 24 Agustus 2025

Deep Copy Nested List pemrograman python di VSCode

# deep copy

data_0 = [1, 2]

data_1 = [3, 4]

data_2d = [data_0, data_1, 10]

data_2d_copy = data_2d.copy ()

print (f"data = {data_2d}")

print (f"data copy = {data_2d_copy}")

 

# mengambil data dari nested list

data = data_2d [0]  # mengambil dari data_2d -> data_0 -> [1, 2]

print (f"data = {data}")

data = data_2d [0][0]   # mengambil dari data_2d -> data_0 -> index 0 -> 1

print (f"data = {data}")

print ()

 

# address semuanya

print (f"address asli = {hex(id(data_2d))}")

print (f"address copy = {hex(id(data_2d_copy))}")

 

print ("address dari member ke-1")

print (f"address asli = {hex(id(data_2d[0]))}")

print (f"address copy = {hex(id(data_2d_copy[0]))}")

 

data_2d [1][0] = 5

data_2d [2] = 9     # yang akan berubah hanya data_2d sedangkan data data_2d_copy tidak berubah

print (f"data = {data_2d}")

print (f"data_copy = {data_2d_copy}")

print ()

 

# kita gunakan deepcopy

'''

    untuk melakukan deepcopy

    kita harus import deepcopy

'''

from copy import deepcopy

data_2d = [data_0, data_1, 10]

data_2d_deepcopy = deepcopy (data_2d)

print (f"address asli = {hex(id(data_2d))}")

print (f"address deepcopy = {hex(id(data_2d_deepcopy))}")

print ()

 

print ("address dari member ke-1")

print (f"address asli = {hex(id(data_2d[0]))}")

print (f"address copy = {hex(id(data_2d_deepcopy[0]))}")

 

data_2d [1][0] = 30

print (f"data = {data_2d}")

print (f"data copy = {data_2d_copy}")

print (f"data deepcopy = {data_2d_deepcopy}")

 


Tidak ada komentar:

Posting Komentar