Hola amigos. Tengo un extraño problema con "replace", resulta que en modo
interactivo hago lo siguiente:
>>> a='12045'
>>> b='3'
>>> a.replace('0','3')
'12345'
Sin embargo, cuando hago esto mismo en un módulo py, sucede lo siguiente:
import string
a='12045'
b='3'
a.replace('0','3')
print a
Y e
Lo que dice el doctring de la función, te retorna una copia del string.
S.replace(old, new[, count]) -> string
Return a copy of string S with all occurrences of substring
old replaced by new. If the optional argument count is
given, only the first count occurrences are replaced.
On Fri, Oct 10
Buenas compañero :D
El problema es que replace no aplica sobre a:
>>> a='12045'
>>> b='3'
>>> a.replace('0','3')
'12345'
>>> a
'12045'
>>>
deberías hacer una asignación:
c = a.replace
>>> c = a.replace('0','3')
>>> c
'12345'
>>>
Saludos!!!
El 10 de octubre de 2014, 19:12, Juan M. Puertas
¡Eso era Samuel!.
El modo interactivo es ligerqamente diferente.
Muchas gracias :-)
El 10 de octubre de 2014, 19:15, Samuel de Ancos
escribió:
> Buenas compañero :D
>
> El problema es que replace no aplica sobre a:
>
> >>> a='12045'
> >>> b='3'
> >>> a.replace('0','3')
> '12345'
> >>> a
> '1204
Hola otra pregunta sobre el mismo tema.
como puedo hacer uso de los alias, pienso que usando priority podría
resolver este problema,
solo queleyendo los datos de los alias.
lo que se requiere es que la interface valla colocando los datos y
determinando quien va a la cabeza.
no se si me explique a
no es diferente, lo que pasa es que no haces lo mismo en ambos casos, mira:
en el interprete cando haces a.replace('0','3') te lo imprime, pero en el
código de tu programa tu no le dices:
print a.replace('0','3'), por el contrario haces a.replace('0','3') y luego
imprimes a.
python hace lo mismo e
Las cadenas son inmutables:
>>> a = 'esto'
>>> a.upper()
'ESTO'
>>> a
'esto'
>>>
*a.upper()* o *a.replace('', '')* en tu caso, sólo devuelven una copia del
objeto más la función que le has aplicado.
El modo interactivo no es diferente, *a.replace()* no hace nada sobre el
objeto *a*, por que *a*