Verificar un número/elemento por una condición es un problema común que uno enfrenta y se realiza en casi todos los programas. A veces, también necesitamos obtener los totales que coincidan con la condición particular para tener una distinción que no coincida para su uso posterior, como en la ciencia de datos. Analicemos ciertas formas en las que podemos contar los valores verdaderos en Matrix.
Método n.º 1: uso de sum()
la expresión generadora +
Este método utiliza el truco de sumar 1 a la suma cada vez que la expresión generadora devuelve verdadero. Cuando la lista de tiempo se agota, se devuelve la suma del recuento de números que coinciden con una condición.
# Python 3 code to demonstrate # Matrix True Summation # using sum() + generator expression from itertools import chain # initializing list test_list = [[3, False], [False, 6], [False, 9]] # printing original list print ("The original list is : " + str(test_list)) # using sum() + generator expression # Matrix True Summation res = sum(1 for i in chain.from_iterable(test_list) if i == True) # printing result print ("The number of True elements: " + str(res))
The original list is : [[3, True], [True, 6], [True, 9]] The number of True elements: 3
Método n.º 2: el usosum() + map()
de map() hace que la tarea sea casi similar a la expresión del generador, la diferencia es que la estructura de datos interna que emplea es diferente, por lo tanto, más eficiente.
# Python 3 code to demonstrate # Matrix True Summation # using sum()+ map() from itertools import chain # initializing list test_list = [[3, True], [True, 6], [True, 9]] # printing original list print ("The original list is : " + str(test_list)) # using sum()+ map() # Matrix True Summation res = sum(map(lambda i: i == True, chain.from_iterable(test_list))) # printing result print ("The number of True elements: " + str(res))
The original list is : [[3, True], [True, 6], [True, 9]] The number of True elements: 3
Publicación traducida automáticamente
Artículo escrito por manjeet_04 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA