使用 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)
我发现了 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)