99re热视频这里只精品,久久久天堂国产精品女人,国产av一区二区三区,久久久精品成人免费看片,99久久精品免费看国产一区二区三区

App下載

Python 列表去重的 3 種最常用方法-零基礎也能秒懂

編程獅(w3cschool.cn) 2025-08-12 15:33:02 瀏覽數 (681)
反饋

本文由編程獅(w3cschool.cn)原創(chuàng),專為零基礎小白設計,跟著敲 3 分鐘就能學會!

一、為什么要給列表去重?

在真實項目開發(fā)中,我們經常遇到 重復數據

  • 從 Excel 導入的用戶名單有重名
  • 爬蟲抓取的熱門文章標題出現重復
  • 用戶點擊日志里同一按鈕被記錄了多次

如果不及時去重,不僅浪費內存,還會導致統(tǒng)計結果失真。今天編程獅就帶你用 最接地氣 的方式,學會 Python 列表去重。

二、方法 1:一行代碼搞定(推薦新手)

核心思路

利用 字典 key 唯一 的特性,把列表元素當 key,重復值自動被過濾。

代碼示例(來自編程獅在線編輯器)

城市列表 = ["北京", "上海", "北京", "廣州", "上海"]
去重后 = list(dict.fromkeys(城市列表))
print("去重結果:", 去重后)   # 輸出:['北京', '上海', '廣州']

在編程獅(w3cschool.cn)Python3在線環(huán)境里直接復制粘貼即可運行,無需安裝任何軟件!

優(yōu)點

  • 代碼最短,適合小白
  • 保留原始順序(Python 3.7+ 字典有序)

三、方法 2:使用 set()(適合不要求順序的場景)

代碼示例

城市列表 = ["北京", "上海", "北京", "廣州", "上海"]
去重后 = list(set(城市列表))
print("去重結果:", 去重后)   # 順序可能變化,如['上海', '北京', '廣州']

注意

set() 會打亂原順序,如果你不關心順序,用它最省事。

四、方法 3:寫個函數,復用更方便(進階)

把方法 1 封裝成函數,以后任何列表都能一鍵去重。

代碼示例(W3Cschool 標準模板)

def 列表去重(任意列表):
    """編程獅推薦:通用去重函數"""
    return list(dict.fromkeys(任意列表))


# 測試
水果 = ["蘋果", "香蕉", "蘋果", "橙子"]
print(列表去重(水果))   # ['蘋果', '香蕉', '橙子']

五、3 分鐘實戰(zhàn):去除用戶積分排行榜重復昵稱

假設你從數據庫查到如下數據:

積分榜 = ["小明", "小紅", "小剛", "小明", "小紅"]

跟著編程獅敲 3 行代碼:

積分榜 = ["小明", "小紅", "小剛", "小明", "小紅"]
唯一榜單 = list(dict.fromkeys(積分榜))
print("排行榜去重后:", 唯一榜單)
# 輸出:['小明', '小紅', '小剛']

把結果直接回寫到數據庫,再也不怕重復統(tǒng)計啦!

六、常見疑問 FAQ

問題 編程獅解答
會不會改變原列表? 不會,三種方法都返回新列表,原列表安全。
字典法為什么能保留順序? Python 3.7 起字典有序,dict.fromkeys() 會按第一次出現的順序記錄。
性能哪個最好? 數據量 <10 萬時三者差異不大;超大數據推薦 pandas.drop_duplicates(),我們下期再講。

七、小結

方法 是否保留順序 代碼長度 推薦指數
dict.fromkeys() ? 1 行 ?????
set() ? 1 行 ???
自定義函數 ? 3 行 ????

零基礎同學先掌握 方法 1,工作中 90% 場景夠用!

八、在線練習

1 人點贊