Python | Números en una lista dentro de un rango dado

Dada una lista, imprime el número de números en el rango dado. 
 

Ejemplos: 

Input : [10, 20, 30, 40, 50, 40, 40, 60, 70] range: 40-80
Output : 6

Input : [10, 20, 30, 40, 50, 40, 40, 60, 70] range: 10-40
Output : 4 

Enfoque de línea múltiple:
recorra la lista y verifique cada número. Si el número se encuentra en el rango especificado, aumente el contador. Al final del recorrido, el valor del contador será la respuesta para la cantidad de números en el rango especificado.
A continuación se muestra la implementación de Python del enfoque anterior

Python

# Python program to count the
# number of numbers in a given range
# using traversal and multiple line code
 
def count(list1, l, r):
    c = 0
    # traverse in the list1
    for x in list1:
        # condition check
        if x>= l and x<= r:
            c+= 1
    return c
     
# driver code
list1 = [10, 20, 30, 40, 50, 40, 40, 60, 70]
l = 40
r = 80
print count(list1, l, r)

Producción:  

6

Enfoque de una sola línea:
podemos escribir una sola línea para el recorrido y la condición de verificación juntas: 
 

x for x in list1 if l <= x <= r

El valor devuelto (verdadero) de la verificación de condición se almacena en una lista y, al final, la longitud de la lista devuelve la respuesta.
A continuación se muestra la implementación de Python del enfoque anterior  

Python

# Python program to count the
# number of numbers in a given range
 
def count(list1, l, r):
     
    # x for x in list1 is same as traversal in the list
    # the if condition checks for the number of numbers in the range
    # l to r
    # the return is stored in a list
    # whose length is the answer
    return len(list(x for x in list1 if l <= x <= r))
 
# driver code
list1 = [10, 20, 30, 40, 50, 40, 40, 60, 70]
l = 40
r = 80
print count(list1, l, r)

Producción: 

6 

Enfoque #3: Usando la suma Podemos usar la suma en este problema. Usamos la comprensión de la lista para iterar sobre la lista y verificar que el número esté dentro del rango o no, si está presente, la comparación tendrá 1 y, de lo contrario, 0 como valor. La función Sum devuelve la suma del total de parámetros.

Python3

# Python program to count the
# number of numbers in a given range
 
def count(list1, l, r):
     
    # Traversing the list with on line for loop
    # check if number is in range of not
    return sum( l <= x <= r for x in list1)
 
# driver code
list1 = [10, 20, 30, 40, 50, 40, 40, 60, 70]
l = 40
r = 80
print( count( list1, l, r ) )

Producción:

6

Publicación traducida automáticamente

Artículo escrito por Striver y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *