如何在Python中将字典项目作为函数parameter passing?
我的代码
第一档:
data = {'school':'DAV', 'standard': '7', 'name': 'abc', 'city': 'delhi'} my_function(*data)
第二档:
my_function(*data): schoolname = school cityname = city standard = standard studentname = name
在上面的代码中,只有“数据”字典的键被传递给my_function()
,但我想要键值对传递。 如何纠正这个?
我希望my_function()
像这样被修改
my_function(school='DAV', standard='7', name='abc', city='delhi')
这是我的要求,根据这个答案
编辑:字典密钥类更改为标准
如果你想这样使用它们,用variables名定义函数是正常的(但是使用klass
作为class
,不能使用保留字):
def my_function(school, city, klass, name): schoolname = school cityname = city standard = klass studentname = name
现在(只要你把字典重命名为klass),你可以在调用函数时使用**
:
my_function(**data)
它会按你的意愿工作。
*数据将参数解释为元组,而不是必须传递将数据解释为字典的数据。
data = {'school':'DAV', 'class': '7', 'name': 'abc', 'city': 'pune'} def my_function(**data): schoolname = data['school'] cityname = data['city'] standard = data['class'] studentname = data['name']
你可以这样调用函数:
my_function(**data)
你可以通过它
def my_function(my_data): my_data["schoolname"] = "something" print my_data
或者如果你真的想
def my_function(**kwargs): kwargs["schoolname"] = "something" print kwargs