Impecable Ricardo, muchísimas gracias.Si bien me sirve increíblemente conocer 
las diferencias entre ambos y saber sus posibles aplicaciones, con: 
cadena.count() ya me es suficiente. GraciasEnviado desde mi smartphone Samsung 
Galaxy.
-------- Mensaje original --------De: Ricardo Cárdenes 
<ricardo.carde...@gmail.com> Fecha: 16/7/20  18:37  (GMT-03:00) A: La lista de 
python en castellano <python-es@python.org> Asunto: Re: [Python-es] [Consulta] 
max() y min() La principal diferencia está en cómo se cuentan las cosas. 
Esto:va = cadena.count('a')recorre la cadena entera buscando únicamente la 
letra "a". Y te devuelve la cuenta. Luego repites la operación con la "e" y hay 
que recorrer la cadena entera otra vez. Y luego repites con la "i" y hay que 
repetir toda la operación de nuevo. Así con cada letra que busques.Esto 
otro:cuentas = Counter(cadena.lower())recorre la cadena una única vez y te 
devuelve un diccionario con la cuenta de repeticiones de cada uno de los 
caracteres distintos en la cadena.Pros y contras:El método count estará 
optimizado para buscar subcadenas. Además, se concentra en contar una sola, así 
que realiza menos operaciones. Sería el ideal para buscar una única letra. Es 
la única opción que tienes si quieres buscar subcadenas de más de una letra 
(Counter cuenta elementos separados, únicamente).Counter es más genérico: sirve 
no sólo para cadenas sino para cualquier tipo de secuencia (listas, tuplas, 
...) Su gran ventaja es que sólo lo ejecutas una vez y ya has contado todo.Por 
tanto, escoger cual usar depende de lo que estés haciendo. Si vas a buscar más 
de un carácter, a tamaños de cadena que no sean gigantescos, probablemente no 
vaya a haber una gran diferencia y es posible que count sea más rápido.Si estás 
buscando muchos caracteres diferentes y, especialmente, si las cadenas son muy 
largas, entonces Counter empieza a ser más conveniente y más rápido en general 
por la simple razón de que sólo vas a necesitar recorrer la secuencia una 
vez.La desventaja principal de Counter es que, mientras count te devuelve un 
simple entero, el objeto devuelto por Counter ocupa memoria proporcionalmente 
al número de elementos distintos que haya en la secuencia. Si esto va a ser un 
problema o no depende de tus datos y de la cantidad de memoria de que 
dispongas.Pero yo no me centraría en asuntos de rendimiento en este momento, 
principalmente cuando parece que aún no dominas el lenguaje. Quitando eso, la 
ventaja principal de Counter es que es mucho más ágil cuando necesitas contar 
muchas cosas diferentes y cuando no sabes a priori qué vas a necesitar 
contar.On Thu, Jul 16, 2020 at 4:53 AM Lemarchand Barker 
<lemarchand8...@gmail.com> wrote:Buenas, estoy viendo las opciones que me 
dieron con count().
Ahora viene mi pregunta, cuál sería la diferencia entre lo que me recomendó:
Juan José:
va = cadena.count('a')

Y lo que dijo:
Ricardo:

>>> from collections import Counter
>>> cuentas = Counter(cadena.lower())
>>> va = cuentas.get('a', 0)
>>> ve = cuentas.get('e', 0)
>>> va
10
>>> ve
7

Gracias, saludos

El mié., 15 jul. 2020 a las 21:49, lemarchand8679
(<lemarchand8...@gmail.com>) escribió:
>
> Mañana lo reviso también, muchas gracias
>
>
>
> Enviado desde mi smartphone Samsung Galaxy.
>
>
> -------- Mensaje original --------
> De: Ricardo Cárdenes <ricardo.carde...@gmail.com>
> Fecha: 15/7/20 21:10 (GMT-03:00)
> A: La lista de python en castellano <python-es@python.org>
> Asunto: Re: [Python-es] [Consulta] max() y min()
>
> Te voy a dar una mejor:
>
> >>> from collections import Counter
> >>> cuentas = Counter(cadena.lower())
> >>> va = cuentas.get('a', 0)
> >>> ve = cuentas.get('e', 0)
> >>> va
> 10
> >>> ve
> 7
>
>
> Tras ejecutar la segunda línea, cuentas es un objeto con la misma interfaz 
> que un diccionario.
>
> Observa que pasé cadena.lower() a Counter, pensando que quieres todas las 
> vocales, no sólo las minúsculas. Adáptalo según necesites.
>
> On Wed, Jul 15, 2020 at 11:08 AM Lemarchand Barker <lemarchand8...@gmail.com> 
> wrote:
>>
>> Lo voy a buscar y voy a ver.
>> Muchas gracias
>>
>> El mié., 15 jul. 2020 a las 18:03, Juan José Gómez Romera
>> (<jjgom...@gmail.com>) escribió:
>> >
>> > Hola, como uso te hace la función q necesitas, yo sin embargo recortaria 
>> > código usando count:
>> >
>> > va = cadena.count('a')
>> > ...
>> >
>> > Perdón por ser tan parco con el código, estoy desde móvil.
>> >
>> >
>> >
>> >
>> > El mié., 15 jul. 2020 22:28, Lemarchand Barker <lemarchand8...@gmail.com> 
>> > escribió:
>> >>
>> >> Hola, vengo con otra pregunta tonta.
>> >> Estaba jugando con for, la típica de buscar máximos y mínimos, les
>> >> dejo el código:
>> >>
>> >> lista = []
>> >>
>> >> cadena = "Esto es una cadena que contiene varias letras y muchas palabras"
>> >>
>> >> vocales = ['a', 'e', 'i', 'o', 'u']
>> >>
>> >> for x in cadena:
>> >>     if x == 'a':
>> >>         va = va + 1
>> >>     elif x == 'e':
>> >>         ve = ve + 1
>> >>     elif x == 'i':
>> >>         vi = vi + 1
>> >>     elif x == 'o':
>> >>         vo = vo + 1
>> >>     elif x == 'u':
>> >>         vu = vu + 1
>> >>
>> >> lista.append(va)
>> >> lista.append(ve)
>> >> lista.append(vi)
>> >> lista.append(vo)
>> >> lista.append(vu)
>> >>
>> >> total = va + ve + vi + vo + vu
>> >>
>> >> max_item = max(lista, key=int)
>> >> min_item = min(lista, key=int)
>> >> print(f"Mayor: {max_item}")
>> >> print(f"Menor: {min_item}")
>> >>
>> >> Bueno mi consulta es la siguiente, está bien que haya utilizado max y
>> >> min para tratar de buscar cuál es la vocal que más se repite y menos
>> >> se repite? Pero el tema es el siguiente hay 2 vocales que se repiten
>> >> solamente 2 veces, que son: i y o. Asumo que por el orden de los
>> >> elementos en la lista el 2 que muestra se corresponde a la i.
>> >> Bueno eso es todo, consultar si está bien utilizado el max y el min,
>> >> saludos y gracias.
>> >> _______________________________________________
>> >> Python-es mailing list
>> >> Python-es@python.org
>> >> https://mail.python.org/mailman/listinfo/python-es
>> >
>> > _______________________________________________
>> > Python-es mailing list
>> > Python-es@python.org
>> > https://mail.python.org/mailman/listinfo/python-es
>> _______________________________________________
>> Python-es mailing list
>> Python-es@python.org
>> https://mail.python.org/mailman/listinfo/python-es
_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

_______________________________________________
Python-es mailing list
Python-es@python.org
https://mail.python.org/mailman/listinfo/python-es

Responder a