On Dec 25, 2007 12:11 PM, Mr. SpOOn <[EMAIL PROTECTED]> wrote:

> Mi intrometto un attimo: un modo pratico per sostituire un carattere
> in una determinata posizione? Tempo fa mi pare che l'avevo fatto
> usando lo slice prima e dopo il carattere che mi interessa, creando
> una nuova stringa. Ci sono metodi più efficienti?
>

Le stringhe in Python sono immutabili. Per cui non possiamo inventarci più
di tanto.

Puoi fare slicing (come hai detto tu):

string = string[0:idx] + c + string[idx+1:]

Oppure, convertire la stringa in una lista e poi convertirla nuovamente a
stringa:

new_string = list(string)
new_string[idx] = c
string = ''.join(new_string)

Esistono altri metodi per farlo (ad esempio usando un array di caratteri) ma
in sostanza non c'è un modo molto meno "macchinoso".

Ciao,
Antonio
-- 
http://stacktrace.it - Aperiodico di resistenza informatica.
http://antoniocangiano.com - Zen and the Art of Ruby Programming
http://math-blog.com - Math Blog: Mathematics is wonderful!
http://effettofarfalla.com - Il battito d'ali di un italiano a Toronto
_______________________________________________
Python mailing list
Python@lists.python.it
http://lists.python.it/mailman/listinfo/python

Rispondere a