在python中我想要一个返回空格字符等于输入的lambda。 例如。
x=lambda x: return space x times
print "my message",x(10),"my message 2"
输出:
我的消息< 10 space> my message 2
这将满足我在特定情况下的需求。 我可以为此编写一个函数但是如果可以这样做的话?
答案 0 :(得分:2)
类似的东西:
x = lambda times:' '*times
print "my message{0}my message 2".format(x(10))
my message my message 2
答案 1 :(得分:1)
@mux的答案是正确的,但我认为实现完全相同的更简单,更pythonic的方法不需要lambda:
def spacetimes(x): return x * ' '
然后:
print "my message",spacetimes(10),"my message 2"
当你想传递一个函数时,你通常需要一个lambda。例如,我将通过将其包装在名为msg
:
def msg(spacefunc):
print "my message",spacefunc(10),"my message 2"
然后你可以用lambda来调用它:
msg(lambda x: x * ' ')
答案 2 :(得分:0)
讨厌成为那个人,但如果它不是必须是lambda ...如果你真正想要的是空间那么为什么不
print "my message", ' '*6 ,"my message 2"
你可以改变'6'。