inserendo caratteri all'inizio e alla fine di una stringa


100

Sono nuovo e sto cercando di trovare un modo per inserire un numero di L all'inizio e alla fine di una stringa. Quindi se ho una stringa che dice

"dove ho messo il mio cupcake stamattina"

E voglio inserire 1 L all'inizio e 2 L alla fine, quindi sembra: "Ldove ho messo il mio cupcake stamattina?" Come faccio. grazie

Risposte:


132

Le stringhe non sono modificabili, quindi non puoi inserire caratteri in una stringa esistente. Devi creare una nuova stringa. Puoi usare la concatenazione di stringhe per fare quello che vuoi:

yourstring = "L" + yourstring + "LL"

Nota che puoi anche creare una stringa con n Ls usando la moltiplicazione:

m = 1
n = 2
yourstring = ("L" * m) + yourstring + ("L" * n)

27

Per completezza insieme alle altre risposte:

yourstring = "L%sLL" % yourstring

Oppure, più compatibile con Python 3.x:

yourstring = "L{0}LL".format(yourstring)

3
Per il secondo esempio, l'utilizzo di un solo argomento per .format lo "0" non è necessario, giusto?
Quapka

@quapka: è necessario se il codice deve essere compatibile con Python 2.6
Hubert Kario

26

Puoi anche usare join:

yourstring = ''.join(('L','yourstring','LL'))

Risultato:

>>> yourstring
'LyourstringLL'

9

Se desideri inserire un'altra stringa da qualche altra parte nella stringa esistente, puoi utilizzare il metodo di selezione di seguito.

Carattere chiamante in seconda posizione:

>>> s = "0123456789"
>>> s[2]
'2'

Intervallo di chiamata con posizione iniziale e finale:

>>> s[4:6]
'45'

Chiamare parte di una stringa prima di quella posizione:

>>> s[:6]
'012345'

Chiamare parte di una stringa dopo quella posizione:

>>> s[4:]
'456789'

Inserendo la tua corda in 5a posizione.

>>> s = s[:5] + "L" + s[5:]
>>> s
'01234L56789'

Inoltre sè equivalente a s[:].

Con la tua domanda puoi usare tutta la tua stringa, ad es

>>> s = "L" + s + "LL"

o se "L"è un'altra stringa (ad esempio io la chiamo come l), allora puoi usare quel codice:

>>> s = l + s + (l * 2)

4

Aggiungendo alla risposta di C2H5OH , in Python 3.6+ puoi usare le stringhe di formato per renderlo un po 'più pulito:

s = "something about cupcakes"
print(f"L{s}LL")

2

Diciamo di avere una stringa chiamata yourstring:

for x in range(0, [howmanytimes you want it at the beginning]):
    yourstring = "L" + yourstring
for x in range(0, [howmanytimes you want it at the end]):
    yourstring += "L"

0

Sto visualizzando un URL tramite input dell'utente. Lì, se l'utente inserisce una stringa con due parole, voglio stampare la parola con + in mezzo

Esempio

key = input("Enter the product :")

URL = "http://exmaple.com/"

print (URL)

User input: iphone 11

Per il codice sopra, ottengo un URL come " http://exmaple.com/iphone 11"

Ma voglio stampare l'URL come " http://exmaple.com/iphone+11 "

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.