python中list中的字典某個key去重

2021-10-10 04:20:54 字數 678 閱讀 5017

python中list中的字典某個key去重

當我們寫爬蟲的時候,經常會遇到json格式的資料格式,通常如下

data =[,

,,]

很顯然名字為小k的資料重複了,我們需要進行去重;通常對list的去重,我們可以用set()函式 如下:
data =

list

(set

(data)

)

然而,執行之後你會發現它報錯了:
#  list裡的資料不能是dict型別你
解決方案

定義乙個去重的函式即可,根據裡面的某個key,對資料進行篩選去重:

def

drlrepeat

(data,key)

: new_data =

# 用來存放去重後的字典列表

values =

# 用來存放當前已有的值

for dic in data:

if dic[key]

notin values:

)return new_data

引數data為需要去重的列表,key為去重的鍵(即按照那個key來去重),去重後結果為:

[,,

]

去重成功!

python中字典append到list後值會改變

da dac da dct test 2print dac print da 輸出 22 改動的是dac,但是da也跟著改變。字典da 是乙個object python 為提高效能,優化記憶體,dac da並沒有真正的將該字典在記憶體中再次建立,只是指向了相同的object。如下 da l for ...

list中的字典去重

list中的字典 格式 list dict 如上,list dict中有三個字典,但是是重複的,這裡需要去重,保留乙個不重複的dict即可 def list dict duplicate removal list dict list中dict重複的話,去重 run function lambda x...

Python中list 字典 字串的講解

python 的list講解 計算機中的陣列是從0開始的 list中的下標 角標 索引說的都是乙個 陣列都是從0開始的。stus 劉 王 張 stus2 空的列表 stu3 list print stus 這樣列印出來的就是stus 劉愛俠 王小二 張小三 李四 print stus 0 會列印出列...