python字典update去重 字典的操作

2021-10-17 04:30:36 字數 2562 閱讀 8661

字典

要麼是已經有了字典,我們呼叫裡面的鍵值對

要麼是空字典,我們根據實際情況放入鍵值對

#增加dict1 = {}# 建立空字典後逐個新增鍵值對,非空字典也同樣新增,如果遇到鍵相同的話,就會覆蓋掉原先的鍵值對

dict1[『color『] = 『red『

dict1[『points『] = 5

dict1[『x_position『] = 25

dict1[『y_position『] = 0

#刪除del dict1[『color『] #直接刪除,該鍵值對永遠消失

pop(k,d = none) #刪除指定鍵值對,d引數可以預設不填,如果需要刪除的鍵值對不存在,返回none或者d的值

popitem() #奇葩的函式,隨機刪除乙個鍵值對,如果字典為空會報錯

keyerror: 『popitem(): dictionary is empty『

print(dict1.pop(『color『,『yellow『)) #返回『red『,此時『color『已被刪除

print(dict1.popitem()) #隨機刪除乙個鍵值對,你不知道刪的是哪個

print(dict1) #刪的只剩2個鍵值對了

#修改直接重新賦值就是修改

dict1[『color『] = 『green『

#查詢定位

dict1 =

print(dict1.items())

items()返回乙個鍵值對列表

返回的是列表,dict_items([(『x_position『, 25), (『color『, 『red『), (『y_position『, 0), (『points『, 5)])

keys()返回乙個列表,包含字典中的所有鍵

print(dict1.keys())

dict_keys([『points『, 『x_position『, 『color『, 『y_position『])

values()返回乙個列表,包含字典中的所有值

print(dict1.values())

dict_values([0, 『red『, 25, 5])

get(key,beiyong)取得字典中的鍵值,如果無,則返回備用值

print(dict1.get(『points『)) #返回5

print(dict1.get(『pointss『)) #返回none

print(dict1.get(『pointss『,6)) #返回6

setdefault(key,default)檢查key,如果字典中有了,返回該值,如果沒有,增加這個key-default的鍵值對到字典

print(dict1.setdefault(『pointss『)) #返回none

print (dict1) #在字典裡面增加了鍵值對『pointss『: none

print(dict1.setdefault(『pointss『,6)) #返回6

print (dict1) #在字典裡面增加了鍵值對『pointss『: 6

print(dict1.setdefault(『points『,6)) #返回5

print (dict1) #在字典裡面不再增加鍵值對

print (len(dict1)) #列印字典長度,4

print (dict1[『color『]) #列印具體鍵值 『red『

#排序#去重

字典不排序,所以沒有index

字典的鍵值對的鍵名稱不能重複,所以count進行統計重複次數不適用

由於提取的值可能有重複,所以可以用set()函式進行去重

set(dict1.values())

#注意返回的是集合

belist = list(dict1.values())

#values函式返回的是字典,需要變成列表屬性後才能計數

print (belist.count(25)) #返回2

#複製dict2 = dict1.copy() #列表和字典可以用copy函式,字串和元組不行

#拼接和插入

update()把兩個字典合併成乙個

dict1.update(dict2) 將字典dict2更新到dict1中,當dict1中有key與dict2中一致,用dict2的覆蓋掉,如果沒有一致的,就把dict2的鍵值對新增進dict1

fromkeys()根據括號內的鍵值建立新的字典

info =

print(info.fromkeys(『aaron『,[2,3,4])) #info在這裡就是打醬油的,為了能用字典函式fromkeys而已

print(info.fromkeys([2,3,4],『aaron『))

print(info.fromkeys([2,3,4],[『f『,『g『,『h『]))

print(info)

//aaron被拆分了,兩個a是一樣的

//每個鍵賦值aaron

//後面是列表也一樣賦值

//函式是生成新的列表,不影響原列表

#指定切片或分離

字典內的鍵值對是成對儲存,鍵與鍵之間不進行排序,是亂序儲存,連續列印同乙個字典,展示出來的顯示效果都是不一樣的,所以沒有索引值,無法切片或分離

Python 對列表中的字典進行去重

from functools import reduce data list run function lambda x,y x if y in x else x y reduce run function,data list reduce函式為python內建函式 reduce function,...

list中的字典去重

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

python字典len d Python字典詳解

python字典 dict 是乙個很常用的復合型別,其它常用符合型別有 陣列 array 元組 touple 和集合 set 字典是乙個key value的集合,key可以是任意可被雜湊 內部key被hash後作為索引 的型別。因此,key可以是文字 數字等任意型別。如果兩個數字 判斷相等,那麼ke...