python按照list中字典的某key去重的示例代碼
一、需求說明
當我們寫爬蟲的時候,經(jīng)常會遇到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ù)了,我們需要進行去重。通常對于list的去重,我們可以用set()函數(shù),即:
data = list(set(data))
然而,運行之后你會發(fā)現(xiàn)它報錯了:

list里的數(shù)據(jù)不能是dict類型,那么該怎么辦呢?
二、我的解決方案
定義一個去重的函數(shù)即可,根據(jù)里面的某個key,對數(shù)據(jù)進行篩選去重:
def DelRepeat(data,key):
new_data = [] # 用于存儲去重后的list
values = [] # 用于存儲當前已有的值
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為去重的?。窗凑漳膫€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)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Pytest單元測試框架生成HTML測試報告及優(yōu)化的步驟
本文主要介紹了Pytest單元測試框架生成HTML測試報告及優(yōu)化的步驟,文中通過示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下2022-01-01
Python Pandas中創(chuàng)建Series的三種方法總結(jié)
這篇文章主要介紹了Python Pandas中創(chuàng)建Series的三種方法總結(jié),具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-06-06
Scrapy-Redis之RedisSpider與RedisCrawlSpider詳解
這篇文章主要介紹了Scrapy-Redis之RedisSpider與RedisCrawlSpider詳解,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-11-11
淺談關(guān)于Python3中venv虛擬環(huán)境
這篇文章主要介紹了淺談關(guān)于Python3中venv虛擬環(huán)境,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08

