Python對list列表進行去重的幾種方法
在 Python 中,可以使用以下幾種方法對列表進行去重:
一、使用集合(set)轉換再轉回列表
這種方法簡單快捷,但會改變列表中元素的順序,因為集合是無序的。
如果按列表原來的順序,輸出應該是 [5, 4, 3, 2, 1],結果是 [1, 2, 3, 4, 5]
my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5] unique_list = list( set(my_list) ) print(unique_list)
運行:
二、使用字典的鍵去重并保留順序 (推薦)
my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5] unique_list = list( {}.fromkeys(my_list).keys() ) print(unique_list)
運行:
三、使用循環(huán)和臨時列表
空間占用多
my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5] unique_list = [] for item in my_list: if item not in unique_list: unique_list.append( item ) print(unique_list)
四、使用OrderedDict(Python 3.6 之前字典不保證順序,較早版本的 Python 使用這種方法)
from collections import OrderedDict my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5] unique_list = list( OrderedDict.fromkeys(my_list) ) print(unique_list)
五、實戰(zhàn)案例
假設有這么一個列表 ['廈門中山路', '廈門醫(yī)學院', '廈門鼓浪嶼', '廈門軟件園']
希望找出列表中的中文分詞,并輸出無重復分詞。
輸出:
['廈門', '中山路', '醫(yī)學院', '鼓浪嶼', '軟件園']
import jieba words = ['廈門中山路', '廈門醫(yī)學院', '廈門鼓浪嶼', '廈門軟件園'] unique_list = [] for word in words: # 分詞 unique_list = unique_list +list( jieba.cut(word) ) # 去重 unique_list = list( {}.fromkeys(unique_list).keys() ) print( unique_list )
輸出:
到此這篇關于Python對list列表進行去重的幾種方法的文章就介紹到這了,更多相關Python list列表去重內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Windows環(huán)境下如何使用Pycharm運行sh文件
這篇文章主要介紹了Windows環(huán)境下如何使用Pycharm運行sh文件,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-02-02Python PyMySQL操作MySQL數(shù)據(jù)庫的方法詳解
PyMySQL是一個用于Python編程語言的純Python MySQL客戶端庫,它遵循Python標準DB API接口,并提供了許多方便的功能,本文就來和大家簡單介紹一下吧2023-05-05