在Python中,生成指定长度N的空格字符串最简单的方法是什么?
(除了类似下面这样的多行方式,对于大N来说可能效率不高:
def spaces(n):
s = ''
for i in range(n):
s += ' '
return s
)
尝试这个,简单易行,只有一行代码:
' ' * n
这很简单:
s = ' ' * N
def spaces(n):
return ' ' * n
或者只需使用表达式:
' ' * n
所有这些追求分数的人都不好玩,他们的简单答案很烂。
真正的答案如下:
def give_me_spaces(n):
return (lambda : ''.join(' ' for _ in xrange(n)))()
而且它明显更优秀,因为它使用了函数式编程。
我不得不在我的Python辅助函数中挖掘这个,但是它很好用。
spaces = (lambda n:
(lambda z: z(lambda f: lambda m:'' if m <= 0 else ' ' + f(m - 1))(n))
(lambda f:(lambda x:f(lambda*a:x(x)(*a)))(lambda x:f(lambda*a:x(x)(*a)))))
就我个人而言:
spaces = lambda x: ' ' * x