python dict: get vs setdefault

前端 未结 8 1095
误落风尘
误落风尘 2020-12-04 15:04

The following two expressions seem equivalent to me. Which one is preferable?

data = [(\'a\', 1), (\'b\', 1), (\'b\', 2)]

d1 = {}
d2 = {}

for key, val in d         


        
8条回答
  •  执念已碎
    2020-12-04 16:01

    In [1]: person_dict = {}
    
    In [2]: person_dict['liqi'] = 'LiQi'
    
    In [3]: person_dict.setdefault('liqi', 'Liqi')
    Out[3]: 'LiQi'
    
    In [4]: person_dict.setdefault('Kim', 'kim')
    Out[4]: 'kim'
    
    In [5]: person_dict
    Out[5]: {'Kim': 'kim', 'liqi': 'LiQi'}
    
    In [8]: person_dict.get('Dim', '')
    Out[8]: ''
    
    In [5]: person_dict
    Out[5]: {'Kim': 'kim', 'liqi': 'LiQi'}
    

提交回复
热议问题