Python - Contar valores en lista a partir de otra lista

 
Vista:
sin imagen de perfil

Contar valores en lista a partir de otra lista

Publicado por anonymous (3 intervenciones) el 09/11/2020 10:57:28
Buenas, estoy teniendo problemas con el siguiente ejercicio:
Desarrolle una función llamada count_values que tome como parámetros dos listas de números enteros. La función debe devolver una nueva lista, del mismo tamaño que la segunda. Cada elemento de la nueva lista indicará el número de veces que el elemento correspondiente de la segunda lista aparece en la primera.

Ejemplo:

1
2
input:  a = [3, 5, 4, 3, 6, 7, 5, 8, 2, 1, 5] b = [2, 3, 5]
output: [1, 2, 3]

Lo que me dan:
import number_functions

1
2
3
4
numbers = [1, 3, 4, 7, 8, 3, 10, 12, 3, 14, 15]
counters = [3, 8, 5]
res = number_functions.count_values(numbers, counters)
print(res)

y tengo que crear una función que haga lo mismo que en el ejemplo. Mi problema es que podría abordar el ejercicio con los indices de la lista b y comparando los valores en la lista a, pero esto en otros casos donde la lista puede tener miles de valores no me es factible. Por ello quería saber si existe una forma más dinámica de hacerlo.
Valora esta pregunta
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Anikollaste
Val: 570
Bronce
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Contar valores en lista a partir de otra lista

Publicado por Anikollaste (118 intervenciones) el 09/11/2020 13:48:01
Hola Candela.
Espero que esto te ayude.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
# import number_functions. 'Este módulo no lo conozco, tal vez lo has creado?'
numbers = [1, 3, 4, 7, 8, 3, 10, 12, 3, 14, 15]
counters = [3, 8, 5]
 
def number_functions(numbers,counters):
	seRepite=[]
	for i in counters:
		if i in numbers:
			n=numbers.count(i)
			seRepite.append(n)
		else:
			seRepite.append(0)
	print(seRepite)
number_functions(numbers,counters)
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar
Imágen de perfil de joel
Val: 3.475
Oro
Ha mantenido su posición en Python (en relación al último mes)
Gráfica de Python

Contar valores en lista a partir de otra lista

Publicado por joel (901 intervenciones) el 09/11/2020 20:16:50
Otra manera, seria utilizando el comando count()... algo así:
1
2
def number_functions(numbers,counters):
    return [numbers.count(i) for i in counters]
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
1
Comentar