Ответ 1
string = 'Hello There'
print ' '.join([string[:5]] * 2)
Я пытаюсь выполнить повторение строк в Python.
#!/bin/python
str = 'Hello There'
print str[:5]*2
Выход
HelloHello
Требуемый вывод
Привет Hello
Может кто-нибудь указать мне в правильном направлении.
Версия для Python: 2.6.4
string = 'Hello There'
print ' '.join([string[:5]] * 2)
Сделайте это:
str = 'Hello There'
print str[:6]*2
который будет объявлять пробел после второго "Hello", если это нормально. Кроме того, как и rajpy, вы не должны использовать str
как переменную, потому что это ключевое слово в python.
Потому что тогда вы получаете пространство между двумя словами и помещаете его между приветствием
который должен работать!
P.S вам не нужен #!/bin/python
Здесь альтернативное решение, использующее форматирование строк с повторным индексом:
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 символов.
В случае, если вы хотите просто повторить любую строку
"Hello world " * 2
Попробуйте следующее:
print (str[:5] + ' ') * 2
Если вы хотите явно указать конечное пространство.
В вашем примере вы можете сделать:
print str[:6] * 2
Пожалуйста, не используйте встроенные типы (str, int и т.д.) в качестве переменных в вашей программе, это затеняет его фактическое значение.
import re
str = 'Hello There'
m = re.match("(\w+\ )",str)
m.group(1) * 2