如何统计字典中值大于2且小于9的键的数量?
获取字典中值在(2,9)范围内的键的数量
给定字典:
input_dict = {'ab':12, 'cd':4, 'ef':1, 'gh':8, 'kl':9}
要统计值大于2且小于9的键的数量,这里符合条件的是'cd'(值4)和'gh'(值8),预期结果为2。
以下是两种简单的实现方式:
方法1:生成器表达式统计(高效省内存)
利用生成器表达式遍历字典键值对,符合条件的元素计入统计,sum()会自动将布尔判断结果转为1或0累加:
input_dict = {'ab':12, 'cd':4, 'ef':1, 'gh':8, 'kl':9} count = sum(1 for key, value in input_dict.items() if 2 < value < 9) print(count) # 输出:2
方法2:筛选后取列表长度
先筛选出符合条件的键存入列表,再通过len()获取列表长度即对应数量:
input_dict = {'ab':12, 'cd':4, 'ef':1, 'gh':8, 'kl':9} valid_keys = [key for key, value in input_dict.items() if 2 < value < 9] count = len(valid_keys) print(count) # 输出:2
内容的提问来源于stack exchange,提问作者Noorulain Islam
相关产品推荐
相关产品推荐

