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 str
niet 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.join
te 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 repr
af 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