使用字典更新方法获取已更新的键

2024-09-30 00:28:58 发布

您现在位置:Python中文网/ 问答频道 /正文

在使用update方法时,是否可以获取更改的密钥?你知道吗

def func(**kw):
    d = {'key0' : 0, 'key1' : 1}
    d.update(**kw)

func(kw0=0, kw1=1)

在上面的代码中,我想得到键'kw0''kw1'。你知道吗


Tags: 方法代码def密钥updatefunckey1kw
2条回答

不,一旦update()被调用,它们就无法与其他键区分开来。你知道吗

在函数内部,您仍然可以查看kw.keys(),以查看传入了哪些函数

例如

def func(**kw):
    d = {'key0' : 0, 'key1' : 1}
    d.update(**kw)
    print "updated %s"%kw.keys()

func(kw0=0, kw1=1)

检测已更改的密钥的唯一方法是存储原始dict的副本,然后比较更新的版本和原始版本。你知道吗

def func(**kw):
    d = {'key0' : 0, 'key1' : 1}
    old = dict(d)
    d.update(kw)
    changed_keys = [key for key in d if old.get(key) != d.get(key)]
    print changed_keys

相关问题 更多 >

    热门问题