Título: contar elementos de dos listas en python
Publicado por: flony en 3 Noviembre 2021, 02:02 am
hola comunidad como estan mi problema es el siguiente tengo dos listas la primera seria la de las variables que corre de 0 a 35 y la segunda una lista mas grande, donde salen al azar estas variables, me gustaria saber como almacenar la cuenta de esas variables. les dejo lo que voy haciendo. quiero saber cuantos 1 hay cuantos dos etc lista1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35]
lista2=[1,2,3, 1,4,5,1,6,7,1,8,9,2,0,0,1,5,8,2,3,7,5,6,10,6,7,11,0,0,0,1,6,7,5,6,12,5,7,8, 4,12,1,6,12,0,3,5,6,0,0,0,5,10,12,3,6,11,5,6,8,13,0,0,7,12,14,2,0,0,1,14,15,1,5,6,4,5,16, 9,17,18,5,6,10,8,17,0,3,5,6,0,0,0,6,8,0,3,6,0,19,0,0,20,21,22,5,23,24,1,5,6,3,4,5,3,5,7, 2,4,12,1,5,7,1,8,18,0,0,0,17,18,20,2,5,18,6,16,25,0,0,0,1,7,0,1,4,18,0,0,0,1,5,6,26,27,28, 2,5,8,1,5,29,1,6,8,1,5,6,1,2,12,0,0,0,6,15,30,1,6,5,6,11,0,1,6,18,6,12,20,0,0,0,7,0,0, 0,0,0,1,5,24,7,8,0,1,5,21,1,6,31,1,5,30,12,0,0,1,6,20,0,0,0,5,6,11,1,15,32,33,34,35, 6,1,14,1,5,6, ] for i in lista2 : for j in lista1: if i=j:
Título: Re: contar elementos de dos listas en python
Publicado por: Danielㅤ en 3 Noviembre 2021, 04:13 am
Hola, podrías hacerlo de esta forma: lista1=[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35] cantidadUnoLista1 = str(lista1).count("1") print("La variable \"lista1\" contiene %d números 1" % cantidadUnoLista1) # Salida: # La variable "lista1" contiene 14 números 1
lista2 = [1,2,3, 1,4,5,1,6,7,1,8,9,2,0,0,1,5,8,2,3,7,5,6,10,6,7,11,0,0,0,1,6,7,5,6,12,5,7,8, 4,12,1,6,12,0,3,5,6,0,0,0,5,10,12,3,6,11,5,6,8,13,0,0,7,12,14,2,0,0,1,14,15,1,5,6,4,5,16, 9,17,18,5,6,10,8,17,0,3,5,6,0,0,0,6,8,0,3,6,0,19,0,0,20,21,22,5,23,24,1,5,6,3,4,5,3,5,7, 2,4,12,1,5,7,1,8,18,0,0,0,17,18,20,2,5,18,6,16,25,0,0,0,1,7,0,1,4,18,0,0,0,1,5,6,26,27,28, 2,5,8,1,5,29,1,6,8,1,5,6,1,2,12,0,0,0,6,15,30,1,6,5,6,11,0,1,6,18,6,12,20,0,0,0,7,0,0, 0,0,0,1,5,24,7,8,0,1,5,21,1,6,31,1,5,30,12,0,0,1,6,20,0,0,0,5,6,11,1,15,32,33,34,35, 6,1,14,1,5,6] cantidadUnoLista2 = str(lista2).count("1") print("La variable \"lista2\" contiene %d números 1" % cantidadUnoLista2) # Salida: # La variable "lista2" contiene 71 números 1
Conviertes a string tus listas y usando la función count() podes contar la cantidad de números repetidos en cada variable. Nos comentas que si te ha funcionado. Saludos
Título: Re: contar elementos de dos listas en python
Publicado por: Xyzed en 4 Noviembre 2021, 04:41 am
Hola. Ya que ví que usas un bucle para realizar tu código, te adjunto algo similar a lo que hizo @Daniel, pero con un for. lista1 = [1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 5, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35] numero = input("Ingresa el número a validar: ") total = 0 for x in str(lista1): if x == numero: total = total+1 print(f"Cantidad total de '{numero}' repetido(s): {total}") #"Numero" es el input donde debes ingresar el número a contar. #Si el número es 5 por ejemplo, te devolverá: Cantidad total de '5' repetido(s): 5
Título: Re: contar elementos de dos listas en python
Publicado por: Serapis en 4 Noviembre 2021, 15:37 pm
Si requieres una solución óptima, olvida pasar valores numéricos a string... Hay una forma más sencilla y eficiente de conseguir el objetivo, simplemente rediseñando ligeramente lo que hay que hacer y como hacerlo. Lista1, en vez de contener los valores 1 al 35, y dado que son valores contínuos... lo lógico es que su propósito sea el de contar. Entonces el asunto se resuelve así: Lista1(0 a 35) #La lista1 inicialmente contiene valor 0, para cada uno de sus 36 elementos.
bucle para k desde 0 hasta lista2.length lista1(lista2(k)) += 1 # incrementa la cantidad de apariciones con cada valor. next
...y eso es todo. Luego podrás imprimir la cantidad a apariciones de cualquier valor, si fuera por ejemplo las veces que aaprece el 19:
Título: Re: contar elementos de dos listas en python
Publicado por: flony en 5 Noviembre 2021, 23:35 pm
gracias a todos me voy a poner a ver las opciones
|