PDA

Visualizza la versione completa : [python]lavorare con le stringhe


andrew low
11-12-2008, 22:43
Dove trovo come posso lavorare con le stringhe?

In particolar modo mi interessava sapere come estrarre una parte, tipo


a = asdfghjkl
b = dfg

cioè b deve valere solo dal 3' carattere al 5'.

E come posso dirgli sostituisci questo con quest'altro?

preben
14-12-2008, 14:49
In Python le stringhe sono sequenze immutabili. Per estrarre una sottostringa da una stringa puoi usare l'affettamento.
Ad esempio:

a = 'asdfghjkl'
b = a[2:5]
Ciao!

banv_a1
15-12-2008, 17:51
E come posso dirgli sostituisci questo con quest'altro?

In python le stringhe (insieme ad esempio alle tuple sono sequenze immutabili) cioè che non si possono "modificare".Ti faccio degli esempi:


>>> parola="ciao"
>>> parola[1:3]="cc"


Con istruzioni del genere ottinieni il seguente output:

Traceback (most recent call last): File "<pyshell#4>", line 1, in <module> parola[1:3]="cc" TypeError: 'str' object does not support item assignment

Spero di essere stato chiaro.

andrew low
15-12-2008, 18:14
Scusa, forse mi sono espresso male, intendevo una cosa tipo:

a = 'Io sono Andrea'
b = funzione particolare(a, Andrea, Luigi)

print b

che stampa Io sono Luigi, lasciando immutato la stringa a.

billiejoex
16-12-2008, 13:28
>>> a = "Io sono andrea"
>>> b = a.replace("andrea", "luigi")
>>> a
"Io sono andrea"
>>> b
"Io sono luigi"
>>>

PS - leggi una guida per principianti. Risponderà a questa e mille altre domande che ti verranno in mente.

banv_a1
16-12-2008, 16:25
Originariamente inviato da andrew low
Scusa, forse mi sono espresso male, intendevo una cosa tipo:

a = 'Io sono Andrea'
b = funzione particolare(a, Andrea, Luigi)

print b

che stampa Io sono Luigi, lasciando immutato la stringa a.
Be potresti trasformale in lista,poi cambiare cosa ti serve e ristrasformarla in stringa tutto con il modulo string(con le funzione split e join)

billiejoex
16-12-2008, 16:38
Trasformare una stringa in lista per poi ritrasformarla in stringa.
A che pro?

banv_a1
18-12-2008, 20:06
Non server ma se l'unte vuole cambiare il carattere fa cosi.

billiejoex
18-12-2008, 20:09
Se l'utente vuole cambiare un carattere usa "".replace(), non trasforma una stringa in lista che poi ritrasforma in stringa.
Nessun metodo dell'oggetto lista offre qualcosa che serva in tal senso.

banv_a1
18-12-2008, 20:10
Sto imparando python per cui conoscevo solo questo modo...graze per l'informazione comunque

Loading