python按照list中字典的某key去重
- 一、需求說明
- 二、我的解決方案
- 寫在最后
一、需求說明
當我們寫爬蟲的時候,經常會遇到json格式的資料,它通常是如下結構:
data = [{'name':'小K','score':100},
{'name':'小J','score':98},
{'name':'小Q','score':95},
{'name':'小K','score':100}]
很顯然名字為小K的資料重復了,我們需要進行去重,通常對于list的去重,我們可以用set()函式,即:
data = list(set(data))
然而,運行之后你會發現它報錯了:

list里的資料不能是dict型別,那么該怎么辦呢?
二、我的解決方案
定義一個去重的函式即可,根據里面的某個key,對資料進行篩選去重:
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
引數data為需要去重的list,key為去重的健(即按照哪個key來去重),去重后結果為:
[{'name': '小K', 'score': 100},
{'name': '小J', 'score': 98},
{'name': '小Q', 'score': 95}]
成功去重!
寫在最后
最后,感謝各位大大的耐心閱讀~
創作不易,大俠請留步… 動起可愛的雙手,來個贊再走唄 (???←?)
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/169973.html
標籤:其他
