Python herhaaltekenreeks

Ik probeer stringherhaling in Python.

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

Uitvoer

HalloHallo

Vereiste uitvoer

Hallo Hallo

Kan iemand me alsjeblieft in de goede richting wijzen.

Python-versie: 2.6.4


Antwoord 1, autoriteit 100%

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

Antwoord 2, autoriteit 29%

In het geval dat u een willekeurige reeks wilt herhalen

"Hello world " * 2 

Antwoord 3, autoriteit 19%

Doe dit:

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

die een spatie zal toevoegen na de tweede “Hallo” als dat goed is. Ook, zoals Rajpy zei, moet je strniet als variabele gebruiken omdat het een sleutelwoord is in python.

Omdat je dan de spatie tussen de twee woorden krijgt en tussen de hallo’s zet

dat zou moeten werken!

P.S. je hebt de #!/bin/python

niet nodig


Antwoord 4, autoriteit 10%

Hier is een alternatieve oplossing, waarbij gebruik wordt gemaakt van tekenreeksopmaak met een herhaalde index:

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

Dit werkt goed als je van tevoren precies weet hoe je je string wilt herhalen. Als je wilt dat het aantal herhalingen tijdens runtime variabel is, is het waarschijnlijk beter om str.jointe gebruiken zoals in het antwoord van nuront.

Een voordeel van het gebruik van tekenreeksopmaak is dat je niet beperkt bent tot herhaling, hoewel je het gemakkelijk genoeg kunt doen. Je kunt ook andere decoraties in en rond de string doen, als je wilt (en de kopieën hoeven niet hetzelfde te worden behandeld):

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

Dat drukt de repraf van een eerste exemplaar van een tekenreeks tussen vierkante haken, gevolgd door een tweede exemplaar tussen haakjes, gecentreerd en opgevuld met onderstrepingstekens van 15 tekens breed.


Antwoord 5, autoriteit 5%

Probeer dit:

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

Als u een volgspatie expliciet wilt specificeren.

In jouw voorbeeld zou je het volgende kunnen doen:

print str[:6] * 2

Gebruik a.u.b. geen ingebouwde typen (str, int etc..) als variabelen in uw programma, dit overschaduwt de werkelijke betekenis ervan.


Antwoord 6, autoriteit 2%

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

Other episodes