说我有一个功能,像这样:地图kwargs返回nonetype蟒蛇
def test(*args, **kwargs):
print(args, kwargs)
,我想它调用地图对象,像这样:
obj = map(lambda var: test(var+1, var = var), [1, 2, 3])
当我打印值显示为:
>>> for i in obj:
print(i)
(2,) {'var': 1}
None
(3,) {'var': 2}
None
(4,) {'var': 3}
None
None
值从哪里来?
谢谢!但现在它返回一个元组,如'((2,),{'var':1})''。有什么办法可以解决这个问题吗?我在下一行尝试'返回args'和'return kwargs',但它只返回'args'。 – rassar
@rassar:多个返回值总是'tuple's,你不能避免('return'只能返回一个东西,逗号只是让它产生一个所有东西的'元组') “)。但是你可以改变你的循环到'for a,b in obj:print(a,b)'来重新编译循环,或者'for in in obj:print(* i)'在'print'调用中解压缩。 Python的序列解包是使得多重返回能够以隐藏'元组'方面的方式被使用的原因。 – ShadowRanger