首頁 > 後端開發 > Python教學 > 如何在Python中正確初始化帶有空列表的字典?

如何在Python中正確初始化帶有空列表的字典?

DDD
發布: 2024-11-25 08:36:47
原創
169 人瀏覽過

How to Properly Initialize a Dictionary with Empty Lists in Python?

Python 中使用空白列表初始化字典

在 Python 中,建立空列表的字典可以透過多種方法來實現。但是,fromkeys 方法可能不會產生所需的結果,因為它會建立由所有字典鍵引用的單一清單物件。

請考慮以下範例:

data = {}
data = data.fromkeys(range(2), [])
data[1].append('hello')
print(data)
登入後複製

預期結果:{0: [], 1: ['hello']}
實際結果: {0: ['hello' ], 1: ['hello']}

原因:

使用fromkeys 時,第二個參數([]) 被視為單一列表對象,被所有對象引用生成的字典中的鍵。對任何鍵的任何修改都會傳播到所有其他鍵。

解:

要建立獨立空列表的字典,請使用字典理解:

在Python 2.7 或更高版本中:

data = {k: [] for k in range(2)}
登入後複製

在之前的Python版本中2.7:

data = dict([(k, []) for k in range(2)])
登入後複製

或者,在Python 2.4 - 2.6 中,使用生成器表達式:

data = dict((k, []) for k in range(2))
登入後複製

這些方法確保字典中的每個鍵引用一個不同的空列表對象,從而允許用於字典值的獨立修改和定址。

以上是如何在Python中正確初始化帶有空列表的字典?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板