使用** kwargs陷入Python

时间:2016-10-16 07:53:56

标签: python

我需要创建一个**kwargs的函数,它应该使我的字典中的数值加倍。只有数值!

我的代码如下所示:

fmm= {'zbk': 30,
        'moartea': 78,
        'Cox': 'sweet',
        'fanina': 'Alex',
        'rex': 24
        }

def my_func(**kwargs):
   for k,v in fmm.items():
     print(v*2)
my_func()

2 个答案:

答案 0 :(得分:3)

一种方法:

fmm= {'zbk': 30,
        'moartea': 78,
        'Cox': 'sweet',
        'fanina': 'Alex',
        'rex': 24
        }

def my_func(**kwargs):

    for k,v in kwargs.items():
        if isinstance(v,int) or isinstance(v,float):
            kwargs[k] *= 2
    return kwargs

fmm = my_func(**fmm)
print(fmm)

请注意,我无法直接更改参数; Python制作了传递的dict的副本。

答案 1 :(得分:1)

为什么双指针?没有它你也可以做得很好。

fmm= {'zbk': 30,
        'moartea': 78,
        'Cox': 'sweet',
        'fanina': 'Alex',
        'rex': 24
        }

def my_func():
   for k,v in fmm.items():
     print(v*2)
my_func()