繁体   English   中英

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

[英]how to check same key present in Python Dictionary

我有一个函数,它调用另一个方法并返回3个值,我必须将其存储在dict中,当调用相同的函数时,我必须检查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添加新值,load_ids进行一些计算并返回一些值

您可以使用functools.lru_cache免费获得它:

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

如果您想继续进行示例,则可以执行以下操作。

# Example
IDS = {1: {'name': 'Peter', 'salary': 200000}}


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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM