当在for循环中使用元组列表时,它与两个单独的变量完美地结合在一起,如下所示
t_dict = {
"k1": "v1",
"k2": "v2",
"k3": "v3",
"k4": "v4",
"k5": "v5"
}
for k, v in t_dict.items():
print "%s=%s" % (k, v)
但当用map函数转换为lambda时,得到如下错误
print map(lambda k, v: "%s=%s" % (k, v), t_dict.items())
Traceback (most recent call last): File "test.py", line 14, in <module>
print map(lambda k, v: "%s=%s" % (k, v), t_dict.items()) TypeError: <lambda>() takes exactly 2 arguments (1 given)
在lambda函数中有没有其他方法可以调用元组列表?你知道吗
对于您的情况,还可以使用
%
后面的元组进行格式化,因此:内置
map
支持多个iTerable:如^{} 文档所述:
如前所述,您可以将多个iterable传递给
map
,但是如果您想分别传递items
和keys
和values
,您可以使用zip(*...)
到"transpose"项到两个列表,然后再次使用*
将它们作为两个不同的参数传递给map
:或使用^{} :
相关问题 更多 >
编程相关推荐