Python-字典的增刪改查常見操作

字典創建(兩種方法)

dic = {'word':12,'hello':10,'key':0} #1直接創建
dic = {} #2創建空字典
a = (('word',12),('hello',10))
dic = dict(a) ##3將元組改爲dic

字典的增刪改查

1,增加(兩種方法)

dic['mother'] = 10 #1 -> 直接增加,若key存在則覆蓋原key,value

dic.update({'mother':10}) #2 -> 利用update增加

2,刪除(三種方法)

x = dic.pop('mother') 
# 1 -> dic.pop(key) -> 返回value,同時刪除(key,value) 
# x -> 12
  
del dic['mother']
# 2 -> del dic[key] -> 沒有返回值,直接刪除

dic.clear() 
# 3 -> dic.clear() ->調用dic封裝的函數,清空dic
# 清空dic, dic={} dic在內存中還存在 
# del dic 直接刪除dic對象 

3 ,更改(同增加操作,有key直接覆蓋,沒有增加,update也試用)

4,查找(常見的操作)

dic.items()  # 以元組形式返回dic中的鍵值對
dic.keys()   # 返回dic中的key
dic.values() # 返回dic中的values
dic.get(key,0) # 獲取dic中key對應的value,若不存在該key, 返回  0
dic.setdefault(key,1) #獲取dic中key對應的value,若不存在該key,則 創建 dic[key]= 1

注意1:dic.items()是作爲一個可迭代對象返回的,不能用直接用x = dic.items()[0]這樣的方式獲取dic中的第一個(key,value),可以用下面這樣的方式來獲取。dic.keys(),dic.values()同理。

x = [x for x in dic.items()][0]

注意2::寫 for i in dic時,i不會返回鍵值對,默認i返回的是key。等價於 for key in dic.keys()。

應用實例:詞頻統計

corpus = ['hello','dear','my','name','is','foo','my','father','name','is','fuu',\
           'my','mother','name','is','lyy']

dic  = {}
for word in corpus: ##統計頻率
    dic[word] = dic.get(word,0) + 1 
dic_sort = sorted(dic.items(),key = lambda x:x[1],reverse = True) #排序->list
'''
# 上面內容等價於,只不過返回類型不同
dic = collections.Counter(corpus) '''
print(dic_sort[:5]) #輸出頻率最高的前5個的

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章