假设有变量
a=b=c=d=e=f=None
同时传来dict
{'a':'1','e':'2','f':'3'}
然后将字典中值传给变量 a=1 e=2 f=3
最后print(a,b,c,d,e,f)
1,None,None,None,2,3
dict中值数量、名称都不一定,有可能有{'a':'1','e':'2','f':'3'}
也有可能是{'a':'1','f':'3'} 如果有{'x':'1'}不存在的非法输入过滤掉
除了用if逐个判断外,有没有好的方式快速按key对应赋值给变量
假设有变量
a=b=c=d=e=f=None
同时传来dict
{'a':'1','e':'2','f':'3'}
然后将字典中值传给变量 a=1 e=2 f=3
最后print(a,b,c,d,e,f)
1,None,None,None,2,3
dict中值数量、名称都不一定,有可能有{'a':'1','e':'2','f':'3'}
也有可能是{'a':'1','f':'3'} 如果有{'x':'1'}不存在的非法输入过滤掉
除了用if逐个判断外,有没有好的方式快速按key对应赋值给变量
变量假如有个列表[a,b,c,d,e]
,传过来的dict
赋值操作不就直接:
a = dict.get['a']
b = dict.get['b']
c = dict.get['c']
......
循环一遍处理即可
def fn(a=None, b=None, c=None, d=None, e=None, f=None):
return a, b, c, d, e, f
def fn1(*args, **kwargs):
return tuple(kwargs[_] if _ in kwargs else None for _ in args)
d = {'a':'1','e':'2','f':'3'}
k = ['a', 'b', 'c', 'd', 'e', 'f']
print fn(**d)
print fn1(*k, **d)
4 回答4.5k 阅读✓ 已解决
1 回答3.4k 阅读✓ 已解决
4 回答3.9k 阅读✓ 已解决
3 回答2.2k 阅读✓ 已解决
1 回答4.5k 阅读✓ 已解决
1 回答3.9k 阅读✓ 已解决
2 回答432 阅读✓ 已解决