日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python之setdefault()和defaultdict()处理缺失值的键

發布時間:2023/12/20 python 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python之setdefault()和defaultdict()处理缺失值的键 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

代碼經過自己的注釋,

其實defaultdict()就是給有key的“key-value對”添加默認的value


# -*- coding: utf-8 -*- import sys reload(sys) sys.setdefaultencoding('utf-8') #使用setdefault()和defaultdict()處理缺失的鍵 periodict_table = {'Hydrogen':1,'Helium':2} #創建一個字典 print(periodict_table)#如果鍵不在字典中,新的默認值會被添加進去 carbon = periodict_table.setdefault('Carbon',12) print(carbon) print(periodict_table)#如果試圖把一個不同的默認值賦給已經存在的鍵,不會改變原來的值,仍將返回初始值 helium = periodict_table.setdefault('Helium',947) #仍然輸出以前的值2,而不會輸出947 print(helium) print(periodict_table) print"----------------------------------------------------"#defaultdict()也有同樣的用法,但是創建字典時,對每個新的鍵都會指定默認值,它的參數是一個函數 #在本列中,把函數int作為參數傳入,會按照int()調用,返回整數0 from collections import defaultdict periodict_table = defaultdict(int) #現在任何缺失的值都會被賦值為0 periodict_table['hydrogen'] = 1 periodict_table['Lead'] #Lead含缺失值,賦為0 print(periodict_table)#函數defaultdict()的參數是一個函數,他返回缺失鍵的值 #在下面的列子中,no_idea()在需要時會被執行,返回一個值 from collections import defaultdict def no_idea():return 'Huh?' bestiary = defaultdict(no_idea) bestiary['A'] = 'Abominable snowman' bestiary['B'] = 'Basilisk' print(bestiary['A']) print(bestiary['B']) print(bestiary['C']) #同樣,可以使用int(),dict(),list()分別返回0,空字典{},空列表[],如果刪掉該函數的參數,新建的初始值會被設置為Nonebestiary1 = defaultdict(lambda:'HUH?') #等價于: def bestiary1():return 'HUN?' print(bestiary1())print"--------------------------------------------------------------" #使用int是一種定義計數器的方式 from collections import defaultdict food_counter = defaultdict(int) for food in ['apple','spam','egg','pear']:print"food=",foodprint"賦值前的效果:",food_counter[food]food_counter[food] = 5#這里就是字典的賦值方法了 for food,count in food_counter.items():print(food,count)print"--------------------------------------------------------------"#普通字典的寫法 dict_count = {} for food in ['spam','spam','egg','spam']:if not food in dict_count:dict_count[food] = 0dict_count[food] += 1 for food,count in dict_count.items():print(food,count)



總結

以上是生活随笔為你收集整理的python之setdefault()和defaultdict()处理缺失值的键的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。