python 字典改變值為2倍

2021-10-04 11:01:08 字數 593 閱讀 8480

要求:向menu_total列表中新增另外乙個選單字典menu2menu2選單中的菜名和menu1選單一樣,菜的**是menu1菜的**的2倍

menu1 = {}

menu1['fish']=int(input())

menu1['pork']=int(input())

menu_total = [menu1]

menu2 = menu1

menu1['fish'] = 2 * menu1['fish']                      #只改變字典menu1

menu1['pork'] = 2 * menu1['pork']

menu_total = [menu1 , menu2]

print(menu_total)

輸入:30 40

輸出:(, )          #實際menu2的值也隨之改變了

總結:字典貌似會指向同乙個儲存空間

解決辦法:將menu2 = menu1 變為 menu1={}

Python字典中的值為列表或字典的構造例項

1 值為列表的構造例項 dic 程式設計客棧 dic.setdefault key,append value 示程式設計客棧例如下 www.cppcns.com dic.setdefault a append 1 dic.setdefault a append 2 dic 2 值為字典的構造例項 d...

python 字典key值報錯

報錯 typeerror unhashable type set 或 typeerror unhashable type list 原因 python的字典型別的key不支援set或list,set裡面的物件是hash儲存,如果儲存乙個list物件,而後改變了list物件,那set中剛才儲存的值的h...

取字典的值 Python小課堂 字典

python3字典 字典是另一種可變容器模型,且可儲存任意型別物件。字典的每個鍵值 key value 對用冒號 分割,每個對之間用逗號 分割,整個字典包括在花括號 中 格式如下所示 d 鍵必須是唯一的,但值則不必。值可以取任何資料型別,但鍵必須是不可變的,如字串,數字或元組。乙個簡單的字典例項 d...