首頁 > 後端開發 > Python教學 > 如何從 Python 清單中刪除重複的字典,同時保留或忽略順序?

如何從 Python 清單中刪除重複的字典,同時保留或忽略順序?

Susan Sarandon
發布: 2024-11-28 00:21:10
原創
169 人瀏覽過

How Can I Remove Duplicate Dictionaries from a Python List While Preserving or Ignoring Order?

從Python 列表中刪除重複的字典

給定一個字典列表,目標是刪除所有共享相同鍵的字典-值對。例如,將列表[{'a': 123}, {'b': 123}, {'a': 123}] 轉換為[{'a': 123}, {'b': 123}] 將會實現這一目標。

要實現這一目標,您可以採用一種簡單而強大的技術:

此方法適用於三個不同的步驟:

  1. 將每個字典轉換為元組,其中元組儲存字典的鍵值對。
  2. 將元組列表轉換為集合,有效刪除重複項集合不能保存相同值的多個實例。
  3. 使用dict() 從元組重建字典

程式碼片段中的變數代表以下內容:

  • l:原始字典列表
  • d: list
  • t:表示該字典的鍵值的元組對

如果維護字典的原始順序至關重要,您可以使用以下修改後的方法:

此程式碼包含維護可見集的附加步驟追蹤已經遇到的元組(以及字典)。如果在seen集合中找不到某個元組,則將其加入集合中,並將對應的字典追加到new_l列表中。

需要注意的是,直接使用相等(==)來比較字典如果以不同方式修改字典,則可能不會總是產生所需的結果。如果鍵值對的順序很重要,建議在建立元組之前先對字典的項目進行排序。

以上是如何從 Python 清單中刪除重複的字典,同時保留或忽略順序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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