python: самый простой способ получить строку пробелов длины N - PullRequest
6 голосов
/ 14 сентября 2011

Какой самый простой способ сгенерировать строку пробелов длины N в Python?

(кроме того, что является многострочным и, по-видимому, неэффективным для больших n:

def spaces(n):
  s = ''
  for i in range(n):
    s += ' '
  return s

)

Ответы [ 6 ]

20 голосов
/ 14 сентября 2011

попробуйте это просто, только одна строка:

    ' ' * n
3 голосов
/ 14 сентября 2011

Это так же просто, как:

s = ' ' * N
2 голосов
/ 14 сентября 2011

Вы можете сделать это как функцию:

def spaces(n):
    return ' ' * n

Или просто использовать выражение:

' ' * n
1 голос
/ 14 сентября 2011

с макушки головы:

spaces = lambda x: ' ' * x
0 голосов
/ 14 сентября 2011

Пришлось копаться в моих вспомогательных функциях 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)))))
0 голосов
/ 14 сентября 2011

Все эти точечные торговцы неинтересны, и их простые ответы воняют.

Правильный ответ таков:

def give_me_spaces(n):
    return (lambda : ''.join(' ' for _ in xrange(n)))()

Кроме того, он явно лучше, потому что использует функциональное программирование.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...