Python中如何提取字典内所有为整数类型的键
解决方案
方案1:列表推导式(首选写法)
直接遍历字典键并做类型判断即可,代码简洁易读:
a = {1: 'a', 5: 'b', 'h': 'c'} d = [k for k in a if isinstance(k, int)]
执行后d的结果就是你需要的[1, 5]。
小提示:这里用
isinstance(k, int)而非type(k) == int是更通用的写法,后者会严格排除int的子类实例,如果你确实需要严格匹配原生int类型,可以替换为type(k) is int。
方案2:filter函数实现
适合偏好函数式写法的场景,逻辑和上面完全一致:
a = {1: 'a', 5: 'b', 'h': 'c'} d = list(filter(lambda k: isinstance(k, int), a))
两种方案的运行结果没有区别,日常开发更推荐列表推导式的写法,可读性和性能都更好。
内容的提问来源于stack exchange,提问作者Adam
相关产品推荐
相关产品推荐

