嘗試建立清單字典時,您可能會遇到意外問題,字典中的所有鍵共用相同的值列出參考。當使用 fromkeys() 方法並傳遞一個空列表作為第二個參數時,會發生這種情況。
dict.fromkeys() 方法有兩個參數:鍵和值的集合。它使用提供的鍵來建立一個新字典,並且每個鍵都映射到指定的值。
但是,如果傳遞空列表 [] 作為值,則結果字典中的所有鍵都會被指派相同的列表物件。這意味著對一個鍵的任何修改也會影響所有其他鍵。
要建立不同清單的字典,請考慮使用以下方法之一:
字典理解(Python 2.7 )
data = {k: [] for k in range(2)}
使用dict()建構子的列表理解
data = dict([(k, []) for k in range(2)])
使用dict() 建構子的產生器表達式(Python 2.4-2.6)
data = dict((k, []) for k in range(2))
這些方法確保字典中的每個鍵都與單獨的列表物件關聯,允許單一鍵更新而不影響其他鍵。
以上是在Python中創建空列表字典時如何避免共享列表引用?的詳細內容。更多資訊請關注PHP中文網其他相關文章!