#範例7-6:字典dict的複製 #https://www.w3schools.com/python/python_dictionaries_copy.asp #https://www.w3school.com.cn/python/python_dictionaries.asp #注意1:不可以直接設定dict2 = dict1, You cannot copy a dict simply by typing dict2 = dict1, #您不能通過鍵入 dict2 = dict1 來複製字典,因為:dict2 只是對 dict1 的引用,而 dict1 中的更改也將自動在 dict2 中進行。 #原因:because: dict2 will only be a reference to dict1, and changes made in dict1 will automatically also be made in dict2. #結果:改了dict2, 也會更動到dict1 #解決方法:There are ways to make a copy, one way is to use the built-in dict method copy(). #語法:dict2 = dict1.copy() #語法:dict2 = dict(dict1) #----------------------------- #phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} #1.錯誤的複製方法:p2 = phone #p2 = phone #p2["品牌"] = "iphone" #print(phone.values()) #print(p2.values()) #----------------------------- #建立phone的dict #複製到p2 #修改p2的品牌名稱 print("phone的所有值=") print("p2的所有值=") #結論:複製dict,不可以直接 a2 = a1 #因為,兩個會連動,修改一個,就會改到另外一個 #---------------------------- #2.正確的複製方法(1) phone.copy() #phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} #p2 = phone.copy() #p2["品牌"] = "iphone" #print(phone.values()) #print(p2.values()) #---------------------------- print() #建立phone的dict phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} #複製到p2 #修改p2的品牌名稱 print("phone的所有值=") print("p2的所有值=") #----------------------------- #3.正確的複製方法(2) dict(phone) #p2 = dict(phone) #p2["品牌"] = "iphone" #print(phone.values()) #print(p2.values()) #-------------------------------------------------- print() #建立phone的dict phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} #複製到p2 #修改p2的品牌名稱 print("phone的所有值=") print("p2的所有值=") #----------------------------------------------------------- #範例7-6:字典dict的複製 #https://www.w3schools.com/python/python_dictionaries_copy.asp #https://www.w3school.com.cn/python/python_dictionaries.asp #注意1:不可以直接設定dict2 = dict1, You cannot copy a dict simply by typing dict2 = dict1, #原因:because: dict2 will only be a reference to dict1, and changes made in dict1 will automatically also be made in dict2. #結果:改了dict2, 也會更動到dict1 #解決方法:There are ways to make a copy, one way is to use the built-in dict method copy(). #語法:dict2 = dict1.copy() #語法:dict2 = dict(dict1) #----------------------------- #1.錯誤的複製方法: p2 = phone phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} p2 = phone p2["品牌"] = "iphone" print(phone.values()) print(p2.values()) #結論:複製dict,不可以直接 a2 = a1 #因為,兩個會連動,修改一個,就會改到另外一個 #---------------------------- #2.正確的複製方法(1) phone.copy() phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} p2 = phone.copy() p2["品牌"] = "iphone" print() print(phone.values()) print(p2.values()) #----------------------------- #3.正確的複製方法(2) dict(phone) phone = {"品牌":"samsung","規格":"galaxy s22","銷售年":2022} p2 = dict(phone) p2["品牌"] = "iphone" print() print(phone.values()) print(p2.values()) #-----------------------------------------------------------