Python – Calcula el porcentaje de elementos positivos de la lista

Dada una lista, calcule el porcentaje de elementos positivos en la lista.

Entrada : test_list = [4, 6, -2, 3, -8, -9, -1, 8, 9, 1] 
Salida : 60.0 
Explicación : 6/10 elementos son positivos.

Entrada : test_list = [-4, 6, -2, 3, -8, -9, -1, 8, 9, 1] 
Salida : 50.0 
Explicación : 5/10 elementos son positivos. 

Método #1: Usando len() + comprensión de lista

En esto, construimos una lista de elementos positivos usando la comprensión de listas y luego calculamos la longitud de las listas usando len(), ambas longitudes se dividen y multiplican por 100 para obtener el recuento porcentual.

Python3

# Python3 code to demonstrate working of
# Positive values percentage
# Using len() + list comprehension
 
# initializing list
test_list = [4, 6, -2, 3, -8, 0, -1, 8, 9, 1]
 
# printing original list
print("The original list is : " + str(test_list))
 
# getting filtered list using comprehension and
# division to get fraction
res = (len([ele for ele in test_list if ele > 0]) / len(test_list)) * 100
 
# printing result
print("Positive elements percentage : " + str(res))

Producción:

The original list is : [4, 6, -2, 3, -8, 0, -1, 8, 9, 1]
Positive elements percentage : 60.0

Método #2: Usar filter() + lambda + len()

En esto, realizamos tareas para obtener elementos positivos usando filter() y lambda, el resto de las tareas se realizan de manera similar a los métodos anteriores.

Python3

# Python3 code to demonstrate working of
# Positive values percentage
# Using filter() + lambda + len()
 
# initializing list
test_list = [4, 6, -2, 3, -8, 0, -1, 8, 9, 1]
 
# printing original list
print("The original list is : " + str(test_list))
 
# getting filtered list using filter(), lambda and
# division to get fraction
res = (len(list(filter(lambda ele: ele > 0, test_list))) / len(test_list)) * 100
 
# printing result
print("Positive elements percentage : " + str(res))

Producción:

The original list is : [4, 6, -2, 3, -8, 0, -1, 8, 9, 1]
Positive elements percentage : 60.0

Método n.º 3: usar lista(), mapa(), encontrar()

Inicialmente, convierta cada elemento de la lista en una string y compruebe si hay una string de inicio de sesión, si no hay un signo y la string no es ‘0’, entonces los elementos son positivos. Agregue todos esos elementos a la lista de salida

Python3

# Python3 code to demonstrate working of
# Positive values percentage
 
# initializing list
test_list = [4, 6, -2, 3, -8, 0, -1, 8, 9, 1]
 
# printing original list
print("The original list is : " + str(test_list))
 
res=[]
x=list(map(str,test_list))
for i in x:
    if(i.find("-")==-1 and i!="0"):
        res.append(int(i))
     
re=(len(res)*100)/len(test_list)
# printing result
print("Positive elements percentage : " + str(re))
Producción

The original list is : [4, 6, -2, 3, -8, 0, -1, 8, 9, 1]
Positive elements percentage : 60.0

Publicación traducida automáticamente

Artículo escrito por GeeksforGeeks-1 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 *