Python中如何实现「存在则追加」逻辑?
在Python中处理字典键不存在的追加逻辑
你可以通过两种常见方式实现这个逻辑:
方法一:用in关键字检查键是否存在
直接判断目标键是否在字典中,再执行对应的操作:
rating = [] for i in result['search_results']: if 'rating' in i: rating.append(float(i['rating'])) else: rating.append(float('nan')) # 推荐用float('nan')而非字符串'NaN',便于后续数值运算
方法二:用字典的get()方法(更简洁)
dict.get(key, default)方法会在键存在时返回对应值,不存在时返回指定默认值,一行就能完成逻辑:
rating = [] for i in result['search_results']: rating.append(float(i.get('rating', float('nan'))))
补充说明
如果API返回的rating可能存在空字符串、非数值等异常情况,还可以额外加一层异常捕获,同时处理键不存在和值无法转成浮点数的问题:
rating = [] for i in result['search_results']: try: rating.append(float(i['rating'])) except (KeyError, ValueError): rating.append(float('nan'))
内容的提问来源于stack exchange,提问作者mchd
相关产品推荐
相关产品推荐

