如何检查Python字典中存在的相同密钥

如何检查Python字典中存在的相同密钥,python,Python,我有一个函数,它调用另一个方法并返回3个值,我必须将其存储在一个dict中,当同一个函数被调用时,我必须检查dict中是否已经存储了相同的值,如果是,我必须返回,否则加载新的值集 IDS = {} def get_ids(id): if id in IDS: return IDS[id], IDS[name], IDS[salary] else: id, name, salary = load_ids(id) IDS['id']

我有一个函数,它调用另一个方法并返回3个值,我必须将其存储在一个dict中,当同一个函数被调用时,我必须检查dict中是否已经存储了相同的值,如果是,我必须返回,否则加载新的值集

IDS = {}

def get_ids(id):
    if id in IDS:
        return IDS[id], IDS[name], IDS[salary]
    else:
        id, name, salary = load_ids(id)
        IDS['id'] = id
        IDS['name'] = name
        IDS['salary'] = salary
        return id, name, salary 

在这里,我将替换第一个存储的ID,但我必须用新ID添加新值,加载ID进行一些计算并返回一些值

您可以使用以下方法免费获得这些值:


您可以通过以下方式免费获得:


如果你想继续你的例子,你可以这样做

实例 IDS={1:{'name':'Peter','salary':200000} def get_idsid: 如果id中有id: 返回id、id[id]['name'],id[id]['salary'] 其他: 姓名,薪资=加载ID IDS[id]={} IDS[id]['name']=name id[id]['salary']=salary 返回id、姓名、工资
如果你想继续你的例子,你可以这样做

实例 IDS={1:{'name':'Peter','salary':200000} def get_idsid: 如果id中有id: 返回id、id[id]['name'],id[id]['salary'] 其他: 姓名,薪资=加载ID IDS[id]={} IDS[id]['name']=name id[id]['salary']=salary 返回id、姓名、工资
在这种情况下,您可以直接修饰load_ID,因为get_ID基本上会将结果返回为is@new-dev-123同意。但是由于我没有那个源代码,所以我不能用它作为例子……在本例中,您可以直接修饰load_id,因为get_id基本上返回结果为is@new-dev-123同意。但由于我没有那个源代码,我不能用它作为例子。。。
from functools import lru_cache

@lru_cache(maxsize=512)
def get_ids(id, name, salary):
    id, name, salary = load_ids(id, name, salary)
    return id, name, salary