contar elementos de dos listas en python

Iniciado por flony, 3 Noviembre 2021, 02:02 AM

0 Miembros y 1 Visitante están viendo este tema.

flony

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:
si un problema no tiene solucion entonces no es un problema...es algo inevitable

Danielㅤ

#1
Hola, podrías hacerlo de esta forma:

Código (python) [Seleccionar]
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


Código (python) [Seleccionar]

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
¡Regresando como cual Fenix! ~
Bomber Code © 2021 https://www.bombercode.net/foro/

Ayudas - Aportes - Tutoriales - Y mucho mas!!!

Xyzed

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.

Código (python) [Seleccionar]

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
...

Serapis

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:

    imprimir lista1(19)

flony

gracias a todos me voy a poner a ver las opciones
si un problema no tiene solucion entonces no es un problema...es algo inevitable