Какой самый простой способ сгенерировать строку пробелов длины N в Python?
(кроме того, что является многострочным и, по-видимому, неэффективным для больших n:
def spaces(n): s = '' for i in range(n): s += ' ' return s
)
попробуйте это просто, только одна строка:
' ' * n
Это так же просто, как:
s = ' ' * N
Вы можете сделать это как функцию:
def spaces(n): return ' ' * n
Или просто использовать выражение:
с макушки головы:
spaces = lambda x: ' ' * x
Пришлось копаться в моих вспомогательных функциях 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)))))
Все эти точечные торговцы неинтересны, и их простые ответы воняют.
Правильный ответ таков:
def give_me_spaces(n): return (lambda : ''.join(' ' for _ in xrange(n)))()
Кроме того, он явно лучше, потому что использует функциональное программирование.