[Python-es] Fallo con replace

Juan M. Puertas soft.sirius en gmail.com
Sab Oct 11 09:06:12 CEST 2014


 Muchas gracias Flavio y Omar, es lo que quería decir respecto al modo
interactivo :-)

El 11 de octubre de 2014, 1:50, Omar Gutiérrez <omar.vpa en gmail.com>
escribió:

> 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* es inmutable.
>
> Creo que lo que tú quieres hacer es esto:* a = a.replace("", "")*
>
> Saludos
>
> 2014-10-10 18:00 GMT-05:00 Flavio Danesse <fdanesse en gmail.com>:
>
>> 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 en ambos casos, tu código es diferente.
>>
>> El 10 de octubre de 2014, 15:20, Juan M. Puertas <soft.sirius en gmail.com>
>> escribió:
>>
>>> ¡Eso era Samuel!.
>>> El modo interactivo es ligerqamente diferente.
>>> Muchas gracias :-)
>>>
>>>
>>> El 10 de octubre de 2014, 19:15, Samuel de Ancos <sdeancos en gmail.com>
>>> escribió:
>>>
>>>> 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 <soft.sirius en gmail.com
>>>> > escribió:
>>>>
>>>>>  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 el resultado es como si replace no hubiera hecho nada:
>>>>>  '12045'
>>>>> ​ Lo he probado en un ordenador con Ubuntu y en otro con Mint.​
>>>>>  ¿Os sucede a vosotros lo mismo?.
>>>>>  Gracias :-)
>>>>>
>>>>>
>>>>>
>>>>> _______________________________________________
>>>>> Python-es mailing list
>>>>> Python-es en python.org
>>>>> https://mail.python.org/mailman/listinfo/python-es
>>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>>
>>>>>
>>>>
>>>> _______________________________________________
>>>> Python-es mailing list
>>>> Python-es en python.org
>>>> https://mail.python.org/mailman/listinfo/python-es
>>>> FAQ: http://python-es-faq.wikidot.com/
>>>>
>>>>
>>>
>>>
>>> --
>>> *Nota: Por problemas con el e-mail. Puede que recibas de nuevo este
>>> mensaje en un tiempo.*
>>>
>>> _______________________________________________
>>> Python-es mailing list
>>> Python-es en python.org
>>> https://mail.python.org/mailman/listinfo/python-es
>>> FAQ: http://python-es-faq.wikidot.com/
>>>
>>>
>>
>> _______________________________________________
>> Python-es mailing list
>> Python-es en python.org
>> https://mail.python.org/mailman/listinfo/python-es
>> FAQ: http://python-es-faq.wikidot.com/
>>
>>
>
> _______________________________________________
> Python-es mailing list
> Python-es en python.org
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>
>


-- 
*Nota: Por problemas con el e-mail. Puede que recibas de nuevo este mensaje
en un tiempo.*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://mail.python.org/pipermail/python-es/attachments/20141011/0e9f6fac/attachment.html>


Más información sobre la lista de distribución Python-es