[pyar] String.count - WTF?

Pablo Codeiro cutrix2k en gmail.com
Dom Jun 3 00:53:20 ART 2012


Talvez estoy razonando fuera del recipiente...

Pero en Teoría de lenguajes, tenes el concepto de palabra vacía,
generalmente representado con Lambda o Epsilon (digamos que teoria de
lenguajes es algo relativamente nuevo, y no está 100% estandarizado).

Teniendo la cadena:

"hola"

es lo mismo que tener la cadena:
"λhλoλlλaλ"

Y siendo estrictos, podemos decir que hay "infinitas" palabras vacias en
una palabra, asi que

"hola"
tambien puede ser
"hλλλλλλλλλolλλλλλλλa".

Para evitar este tipo de respuestas, por convención, generalmente cuando
uno pregunta "cuantas palabras nulas hay en cierta palabra", se toma cada
posición entre las letras.


Fuentes: cosas que me acuerdo de la facu. Estaria bueno que alguien con
conocimientos reales de linguistica pueda refutar esto, o dar mas luz a
esta duda :P


El 31 de mayo de 2012 23:04, Gabriel <gepatino en gmail.com> escribió:

> No estoy seguro que sea un bug:
>
> En python, es recomendable pensar en los indices de una lista, o string en
> este caso, como el espacio entre dos elementos. O sea, un string de cuatro
> caracteres tiene cinco indices: 0, 1, 2, 3 y 4 (los podes usar cuando haces
> slices) [1]
>
> Al contar los espacios vacios, me suena que te esta contando las
> posiciones entre caracteres, y ahi tendrias dos opciones:
>
>    1. Cuenta solo los espacios entre caracteres y te devuelve 3
>    2. Cuenta los espacios entre caracteres, más uno al principio y uno al
>    final y te devuelve 5 (como los indices que tendria ese string)
>    3. Como no encuentra el caracter pedido te devuelve 0.
>
> Me parece que buscar un string vacio debe ser un caso especial. Podrían
> haber decidido devolver siempre 0, a menos que el string donde buscas
> tambien este vacio.
>
> Pero parece que decidieron devolver la cantidad de posiciones entre
> caracteres, tal vez para ser consistente con el tema de los indices (?)
>
>
> [1] http://docs.python.org/tutorial/introduction.html#strings
>
> 2012/5/31 Martin Cerdeira <martincerdeira en gmail.com>
>
>> Pregunta cortita y al pie.
>>
>> Estoy portando algunas cosas de python a otro lenguaje y, haciendo
>> ingenieria inversa vi esto, y me parecio "anti natural" o, poco
>> intuitivo[0]:
>>
>> >>> "hola".count("")
>> 5
>>
>> Como, seguramente hay una explicación que vuelva lo "antinatural" en
>> un "ahhh!! era por eso!!!", pregunto: ma per que??
>>
>> Salud!!
>>
>> -------------------------------------
>> Martín Cerdeira - Software Developer
>> At the end of the day, ship the fucking thing! It’s great to rewrite
>> your code and make it cleaner and by the third time it’ll actually be
>> pretty. But that’s not the point—you’re not here to write code; you’re
>> here to ship products. - Jamie Zawinski
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
>
>
> --
> Gabriel E. Patiño
>
> http://about.me/gepatino
>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20120603/c9f34df3/attachment.html>


More information about the pyar mailing list