溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

如何使用python實現列表去重

發布時間:2022-03-25 15:25:55 來源:億速云 閱讀:172 作者:小新 欄目:web開發
# 如何使用Python實現列表去重

在Python編程中,列表去重是常見的數據處理需求。本文將介紹5種高效的實現方法,并分析它們的適用場景。

## 方法一:使用set()轉換(最簡潔)

```python
original_list = [1, 2, 2, 3, 4, 4]
unique_list = list(set(original_list))

優點: - 代碼簡潔,一行實現 - 執行速度快(O(n)時間復雜度)

缺點: - 不保持原始順序 - 僅適用于可哈希元素

方法二:字典fromkeys()(保持順序)

unique_list = list(dict.fromkeys(original_list))

特點: - 保持元素首次出現的順序 - Python 3.6+版本有效 - 同樣要求元素可哈希

方法三:列表推導式+not in判斷

unique_list = []
[unique_list.append(x) for x in original_list if x not in unique_list]

適用場景: - 需要兼容不可哈希元素 - 保持原始順序 - 小規模數據(O(n2)時間復雜度)

方法四:使用collections.OrderedDict

from collections import OrderedDict
unique_list = list(OrderedDict.fromkeys(original_list))

優勢: - 顯式保證順序一致性 - 兼容Python 3.6以下版本

方法五:pandas.unique()(大數據量)

import pandas as pd
unique_list = pd.unique(original_list).tolist()

特點: - 適合處理大規模數據 - 支持非哈希類型 - 需要安裝pandas庫

性能對比(10萬數據測試)

方法 耗時(ms) 保持順序
set() 15 ×
dict.fromkeys() 18
列表推導式 2100
OrderedDict 22
pandas.unique() 35

總結建議

  1. 簡單去重無需保序 → 首選set()
  2. 需要保持順序 → 選擇dict.fromkeys()
  3. 處理不可哈希對象 → 使用列表推導式
  4. 超大數據集 → 考慮pandas方案

根據實際需求選擇最適合的方法,可以顯著提升代碼效率和可讀性。 “`

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女