python 字典巢狀字典賦值異常

2022-08-24 16:39:09 字數 847 閱讀 7619

針對dict中 巢狀dict 出現複製異常

lists={}

test=['s1','s2','s3']

data =

for i in range(2):

lists[i]=data

# dic = , 1:}

for j in range(2):

# print(j)

lists[j]['value']=test[j]

print(lists)

結果

, 1: }

很奇怪0,1的value都是s2

解決方法:

lists={}

test=['s1','s2','s3']

data =

for i in range(2):

lists[i]=

# dic = , 1:}

for j in range(2):

# print(j)

lists[j]['value']=test[j]

print(lists)

lists = , 1:}

for j in range(2):

# print(j)

lists[j]['value']=test[j]

print(lists)

二者的結果均一致

, 1: }

猜測原因:可能是因為data是乙個位址 ,lists[i]=某個位址,當給list[i]賦值時相當於給某個位址賦值,故其中乙個值變了,其餘值也跟著變。 lists[i]= 相當於給了個新位址 。可能原因不對歡迎指出。

python 字典巢狀字典出現的賦值異常問題解決

問題很小,但是調了很長時間bug。主要是字典巢狀字典的時候,第二層字典必須每次迴圈都要重新定義一下,否則會出現每一次迴圈會使用當前的字典值覆蓋之前所有的第二層字典值。主要可能是因為定義的是乙個字典位址,每一次訪問都是訪問的位址,所以造成位址上的賦值同步更新。sum gray dict是我定義的第一層...

Python字典巢狀

1 import copy 2 menu 10 程式設計 11,17 伺服器程式設計 18,23 24 網頁設計 31 後端 32353637 38 3940 41 menu copy copy.deepcopy menu 424344 print menu copy.pop 電腦科學與技術 字典巢...

字典 字典巢狀

1 字典是python中的資料型別之 一 唯一一種大括號 鍵值對的資料。2 儲存大量的資料 將資料和資料之間進行關聯。3 通過鍵可以準確的找到值 4 雜湊 可變資料型別就不可雜湊 不可變資料型別可雜湊 5 字典的鍵要求 不可變資料型別 可雜湊 唯一 字典中鍵只能存在乙個 字典的值 任意 重複的話後面...