Python對(duì)list列表進(jìn)行去重的幾種方法
在 Python 中,可以使用以下幾種方法對(duì)列表進(jìn)行去重:
一、使用集合(set)轉(zhuǎn)換再轉(zhuǎn)回列表
這種方法簡(jiǎn)單快捷,但會(huì)改變列表中元素的順序,因?yàn)榧鲜菬o序的。
如果按列表原來的順序,輸出應(yīng)該是 [5, 4, 3, 2, 1],結(jié)果是 [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)
運(yùn)行:
二、使用字典的鍵去重并保留順序 (推薦)
my_list = [5, 4, 4, 3, 4, 3, 2, 1, 5] unique_list = list( {}.fromkeys(my_list).keys() ) print(unique_list)
運(yùn)行:
三、使用循環(huán)和臨時(shí)列表
空間占用多
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)
五、實(shí)戰(zhàn)案例
假設(shè)有這么一個(gè)列表 ['廈門中山路', '廈門醫(yī)學(xué)院', '廈門鼓浪嶼', '廈門軟件園']
希望找出列表中的中文分詞,并輸出無重復(fù)分詞。
輸出:
['廈門', '中山路', '醫(yī)學(xué)院', '鼓浪嶼', '軟件園']
import jieba words = ['廈門中山路', '廈門醫(yī)學(xué)院', '廈門鼓浪嶼', '廈門軟件園'] unique_list = [] for word in words: # 分詞 unique_list = unique_list +list( jieba.cut(word) ) # 去重 unique_list = list( {}.fromkeys(unique_list).keys() ) print( unique_list )
輸出:
到此這篇關(guān)于Python對(duì)list列表進(jìn)行去重的幾種方法的文章就介紹到這了,更多相關(guān)Python list列表去重內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件
這篇文章主要介紹了Windows環(huán)境下如何使用Pycharm運(yùn)行sh文件,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-02-02使用Django搭建一個(gè)基金模擬交易系統(tǒng)教程
今天小編就為大家分享一篇使用Django搭建一個(gè)基金模擬交易系統(tǒng)教程,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧2019-11-11使用Python實(shí)現(xiàn)屏幕截圖功能的詳細(xì)教程
Python使用ImageGrab截圖主要依賴于Pillow庫(PIL庫的一個(gè)分支),該庫提供了ImageGrab模塊來實(shí)現(xiàn)屏幕截圖功能,以下是一個(gè)詳細(xì)的截圖教程,需要的朋友可以參考下2025-01-01Python?Pygame實(shí)戰(zhàn)之打磚塊小游戲
打磚塊最早是由雅達(dá)利公司開發(fā)的一款獨(dú)立游戲,也是無數(shù)人的童年記憶。本文將利用Python中的Pygame模塊制作經(jīng)典的打磚塊游戲,需要的可以參考一下2022-02-02Python PyMySQL操作MySQL數(shù)據(jù)庫的方法詳解
PyMySQL是一個(gè)用于Python編程語言的純Python MySQL客戶端庫,它遵循Python標(biāo)準(zhǔn)DB API接口,并提供了許多方便的功能,本文就來和大家簡(jiǎn)單介紹一下吧2023-05-05pandas中g(shù)roupby操作實(shí)現(xiàn)
本文主要介紹了pandas中g(shù)roupby操作實(shí)現(xiàn),文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-02-02Python list和str互轉(zhuǎn)的實(shí)現(xiàn)示例
這篇文章主要介紹了Python list和str互轉(zhuǎn)的實(shí)現(xiàn)示例,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11