dict在python裡是object,不屬於primitive type(即int、float、string、none、bool)。這意味著你一般操控的是乙個指向object(物件)的指標,而非object本身,所以dict的id不會變化。同時,dict的兩種賦值方式,也對dict的id產生影響:
dict["key"]=value
dict=
有如下**:
list_01 =
dict_01 = {}
for i in range(5):
dict_01["num"] = i
print('字典id為:',id(dict_01))
print("list_01內容為:\n", list_01)
其結果為:
字典id為: 2076921129000
字典id為: 2076921129000
字典id為: 2076921129000
字典id為: 2076921129000
字典id為: 2076921129000
list_01內容為:
[, , , , ]
在此情況下,dict的id不變。
對上面的**進行簡單改動,將字典定義到for迴圈內:
list_01 =
# dict_01 = {}
for i in range(5):
dict_01 = {}
dict_01["num"] = i
print('字典id為:',id(dict_01))
print('list_01內容最終為:\n',list_01)
執行結果為:
字典id為: 1755302422568
字典id為: 1755302422640
字典id為: 1755302423000
字典id為: 1755302423216
字典id為: 1755302422712
list_01內容最終為:
[, , , , ]
無論將dict定義在迴圈內
list_01 =
for i in range(5):
dict_01 = {}
dict_01 =
print('字典id為:',id(dict_01))
print("list_01內容為:\n", list_01)
還是將dict定義在迴圈外
list_01 =
dict_01 = {}
for i in range(5):
dict_01 =
print('字典id為:',id(dict_01))
print("list_01內容為:\n", list_01)
字典id均會變化:
字典id為: 2120832084080
字典id為: 2120832084440
字典id為: 2120832084656
字典id為: 2120832084152
字典id為: 2120833462344
list_01內容為:
[, , , , ]
知乎中有相關問題的解釋: Python 深入列表
在學習python的列表推導式前,我們先學習三個東西 lambda map filter lambda是在一行中編寫乙個函式,但如果這個函式被多次呼叫,則其效能會受到一定的影響,其格式為 函式名 lambda 引數1,引數2 函式體如 add lambda a1,a2 a1 a2該lambda表示式...
易語言列表框防止專案重複加入列表框
版本 2 程式集 視窗程式集 啟動視窗 子程式 啟動視窗 建立完畢 列表框1.現行選中項 0 載入 1 子程式 按鈕1 被單擊 列表框1.加入專案 編輯框1.內容,編輯框1.內容 子程式 按鈕2 被單擊,不重複加入 1 如果 列表框1.選擇 編輯框1.內容 1 列表框1.加入專案 編輯框1.內容,資...
在Python中將列表轉換為列表
在資料分析期間,我們面臨著將列表中的每個元素轉換為子列表的方案。因此,在本文中,我們將需要乙個普通列表作為輸入,並轉換成列表列表,其中每個元素都成為乙個子列表。這是一種非常簡單的方法,其中我們建立了for迴圈來讀取每個元素。我們將其作為列表讀取,並將結果儲存在新列表中。alist mon tue w...