」工欲善其事,必先利其器。「—孔子《論語.錄靈公》
首頁 > 程式設計 > 如何消除Python清單中的重複字典?

如何消除Python清單中的重複字典?

發佈於2024-11-08
瀏覽:976

How to Eliminate Duplicate Dictionaries in a Python List?

從字典列表中刪除重複項

資料集合中的重複可能會妨礙高效的資料處理。在Python程式設計中,字典列表通常用於儲存表格資料。但是,在某些情況下,您可能需要從此類清單中刪除重複的字典。

考慮以下字典列表:

[
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]

目標是獲得一個僅包含唯一字典的列表,排除重複項。為了實現這一點,我們可以採用一個簡單的方法:

創建一個以ID 為鍵的臨時字典

  1. 使用列表來理解創建一個臨時字典,其中每個字典的鍵是其“id”字段。
  2. 此步驟實質上將每個唯一的「id」值對應到特定字典。

從值中提取唯一字典

  1. 使用values()方法取得臨時字典的值。
  2. 結果是刪除重複項的唯一字典清單。

Python 實作

以下是如何在 Python 中實作此方法:

def remove_duplicates_from_dicts(dict_list):
    dict_id_mapping = {v['id']: v for v in dict_list}
    return list(dict_id_mapping.values())

sample_list = [
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 1, 'name': 'john', 'age': 34},
    {'id': 2, 'name': 'hanna', 'age': 30},
]
print(remove_duplicates_from_dicts(sample_list))

此程式碼將產生以下輸出:

[{'id': 1, 'name': 'john', 'age': 34}, {'id': 2, 'name': 'hanna', 'age': 30}]

透過使用此策略,可以有效地從列表中刪除重複的字典,並獲得一個只有唯一的新列表元素。

最新教學 更多>

免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。

Copyright© 2022 湘ICP备2022001581号-3