python按照list中字典的某key去重的示例代碼
一、需求說明
當(dāng)我們寫爬蟲的時(shí)候,經(jīng)常會(huì)遇到j(luò)son格式的數(shù)據(jù),它通常是如下結(jié)構(gòu):
data = [{'name':'小K','score':100},
{'name':'小J','score':98},
{'name':'小Q','score':95},
{'name':'小K','score':100}]
很顯然名字為小K的數(shù)據(jù)重復(fù)了,我們需要進(jìn)行去重。通常對(duì)于list的去重,我們可以用set()函數(shù),即:
data = list(set(data))
然而,運(yùn)行之后你會(huì)發(fā)現(xiàn)它報(bào)錯(cuò)了:

list里的數(shù)據(jù)不能是dict類型,那么該怎么辦呢?
二、我的解決方案
定義一個(gè)去重的函數(shù)即可,根據(jù)里面的某個(gè)key,對(duì)數(shù)據(jù)進(jìn)行篩選去重:
def DelRepeat(data,key):
new_data = [] # 用于存儲(chǔ)去重后的list
values = [] # 用于存儲(chǔ)當(dāng)前已有的值
for d in data:
if d[key] not in values:
new_data.append(d)
values.append(d[key])
return new_data
參數(shù)data為需要去重的list,key為去重的?。窗凑漳膫€(gè)key來去重),去重后結(jié)果為:
[{'name': '小K', 'score': 100},
{'name': '小J', 'score': 98},
{'name': '小Q', 'score': 95}]
成功去重!
到此這篇關(guān)于python按照list中字典的某key去重的示例代碼的文章就介紹到這了,更多相關(guān)python list字典的某key去重內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytest單元測(cè)試框架生成HTML測(cè)試報(bào)告及優(yōu)化的步驟
本文主要介紹了Pytest單元測(cè)試框架生成HTML測(cè)試報(bào)告及優(yōu)化的步驟,文中通過示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2022-01-01
Python RPA自動(dòng)化機(jī)器人模擬鼠標(biāo)鍵盤
這篇文章主要介紹了Python RPA自動(dòng)化機(jī)器人模擬鼠標(biāo)鍵盤,RPA,全稱為Robotic Process Automation,即機(jī)器人流程自動(dòng)化。我們可以利用RPA技術(shù)將工作中可重復(fù)的部分流程化,讓機(jī)器替我們完成這一工作2023-02-02
Python Pandas中創(chuàng)建Series的三種方法總結(jié)
這篇文章主要介紹了Python Pandas中創(chuàng)建Series的三種方法總結(jié),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-06-06
OpenCV計(jì)算平均值cv::mean實(shí)例代碼
函數(shù)cv::mean計(jì)算數(shù)組元素的平均值M,每個(gè)通道都是獨(dú)立的,并返回這個(gè)平均值,這篇文章主要給大家介紹了關(guān)于OpenCV計(jì)算平均值cv::mean的相關(guān)資料,需要的朋友可以參考下2021-08-08
基于OpenCV實(shí)現(xiàn)視頻循環(huán)播放
這篇文章主要為大家介紹了如何利用OpenCV實(shí)現(xiàn)視頻的循環(huán)播放,本文為大家提供了兩種方式,一個(gè)是利用Python語言實(shí)現(xiàn),一個(gè)是利用C++語言實(shí)現(xiàn),需要的可以參考一下2022-02-02
Scrapy-Redis之RedisSpider與RedisCrawlSpider詳解
這篇文章主要介紹了Scrapy-Redis之RedisSpider與RedisCrawlSpider詳解,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
淺談關(guān)于Python3中venv虛擬環(huán)境
這篇文章主要介紹了淺談關(guān)于Python3中venv虛擬環(huán)境,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-08-08

