使用 kwargs 在字典中添加键和值

Using kwargs to add key and value in a dictionary

我发现了 kwargs 并想用它们在字典中添加键和值。 我试过这段代码:

def generateData(elementKey:str, element:dict, **kwargs):
    for key, value in kwargs.items():
        element[elementKey] = {
           "%s": "%s" %(key,value)
        }
    return element

但是,当我使用它时,我有一个 TypeError :

*not all arguments converted during string formatting

我试过

element = generateData('city', element, name = 'Paris', label = 'Paris', postcode = '75000')

我想要的结果是:

element = {'city': {'name': 'Paris', 'label': 'Paris', 'postcode': '75000'}}

你知道我的错误在哪里吗?

就这样吧,因为 kwargs 已经是字典了:

def generate_data(elementKey: str, element: dict, **kwargs):
    element[elementKey] = kwargs
    return element


element = {}
element = generate_data('city', element, name='Paris', label='Paris', postcode='75000')
print(element)

输出

{'city': {'name': 'Paris', 'label': 'Paris', 'postcode': '75000'}}

这也有效:

def generate_data(elementKey: str, **kwargs):
    y = dict()
    y[elementKey] = kwargs
    return y


kwargs = {'name' : 'Paris'  , 'label' : 'Paris', 'postcode':'75000'}
element = generate_data('city', **kwargs )
print(element)