程序员文章、书籍推荐和程序员创业信息与资源分享平台

网站首页 > 技术文章 正文

Python第87题:按条件过滤字典【PythonTip题库精编300题】

hfteth 2025-05-05 15:54:37 技术文章 9 ℃

1、编程试题:

编写一个程序,根据某个条件过滤字典值。

对于这个挑战,条件是字典值应该大于整数k。

定义函数filter_dict_values(),有两个参数:字典mixed_dict和整数k。

在函数内部,创建一个新字典,并从mixed_dict过滤值不是整数或大于整数k的键值对,然后存储到新字典中。

返回新字典。

示例输入

{'cat': 2, 'dog': 5, 'parrot': 'yellow', 'fish': 1}

3

示例输出

{'dog': 5, 'parrot': 'yellow'}

解释:

在输出中,过滤后的字典包含一个大于3(k的输入值)的整数值,以及一个不是整数的值yellow。

2、代码实现:

可编辑代码:

#!/usr/bin/python3.9
# -*- coding: utf-8 -*-
#
# Copyright (C) 2024 , Inc. All Rights Reserved
#
# @Time      : 2024/1/31 20:12
# @Author    : fangel
# @FileName  : 87. 按条件过滤字典.py
# @Software  : PyCharm

def filter_dict_values(mixed_dict, k):
    resDict = {}
    for key,value in mixed_dict.items():
        #如果过滤值不是整数,加入到字典里
        if type(value) != int:
            resDict[key] = value
        #如果是整数,且大于指定值k,也加入到字典里
        elif int(value) > k:
            resDict[key] = value
    return resDict

# 获取输入
user_dict = eval(input())
user_k = int(input())
调用函数
print(filter_dict_values(user_dict, user_k))

3、代码分析:

该题通过for key,value in mixed_dict.items()方法来遍历字典,使用items()函数可以轻松地获取字典中的键值对。然后判断过滤值是否是整数,不是整数就加入到字典里;是大于k的整数也加入到字典里。

4、运行结果:

输入:

{'lime': 2, 'orange': 5, 'lemon': 'yellow', 'grapefruit': 1}

3

输出:

{'orange': 5, 'lemon': 'yellow'}

Tags:

最近发表
标签列表