Повторная строка Python

Я пытаюсь выполнить повторение строк в Python.

#!/bin/python
str = 'Hello There'
print str[:5]*2

Выход

HelloHello

Требуемый вывод

Привет Hello

Может кто-нибудь указать мне в правильном направлении.

Версия для Python: 2.6.4

Ответы

Ответ 1

string = 'Hello There'
print ' '.join([string[:5]] * 2)

Ответ 2

Сделайте это:

str = 'Hello There'
print str[:6]*2

который будет объявлять пробел после второго "Hello", если это нормально. Кроме того, как и rajpy, вы не должны использовать str как переменную, потому что это ключевое слово в python.

Потому что тогда вы получаете пространство между двумя словами и помещаете его между приветствием

который должен работать!

P.S вам не нужен #!/bin/python

Ответ 3

Здесь альтернативное решение, использующее форматирование строк с повторным индексом:

print "{0} {0}".format(s[:5])   # prints "Hello Hello" if s is "Hello World"

Это будет хорошо работать, если вы заранее знаете, как вы хотите повторить свою строку. Если вы хотите, чтобы количество повторений было переменной во время выполнения, использование str.join, как в ответе nuront, вероятно, лучше.

Преимущество использования форматирования строк заключается в том, что вы не ограничены только повторением, хотя можете сделать это достаточно легко. Вы также можете делать другие украшения внутри и вокруг строки, если хотите (и копии не должны обрабатываться одинаково):

 print "[{0!r}] ({0:_^15})".format(s[:5])   # prints "['Hello'] (_____Hello_____)"

Это печатает repr первой копии строки внутри квадратных скобок, за которой следует вторая копия в круглых скобках, центрированная и дополняемая символами подчеркивания шириной 15 символов.

Ответ 4

В случае, если вы хотите просто повторить любую строку

"Hello world " * 2 

Ответ 5

Попробуйте следующее:

print (str[:5] + ' ') * 2

Если вы хотите явно указать конечное пространство.

В вашем примере вы можете сделать:

print str[:6] * 2

Пожалуйста, не используйте встроенные типы (str, int и т.д.) в качестве переменных в вашей программе, это затеняет его фактическое значение.

Ответ 6

import re
str = 'Hello There'
m = re.match("(\w+\ )",str)
m.group(1) * 2