Dada una lista que contiene caracteres y números, la tarea es agregar solo números de una lista. A continuación se presentan algunos métodos para completar una tarea determinada.
Método #1: Usando filter() y lambda
Python3
# Python code to demonstrate # how to add only numbers present # in a list of characters and numbers # initialising lists ini_list = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] # printing initial list print ("initial list", str(ini_list)) # code to add numbers from list res = sum(filter(lambda i: isinstance(i, int), ini_list)) # printing result print ("resultant sum", res)
Producción:
initial list [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] resultant sum 15
Método #2: Usar probar y excepto
Python3
# Python code to demonstrate # how to add only numbers present # in a list of characters and numbers # initialising lists ini_list = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] # printing initial list print ("initial list", str(ini_list)) # code to add numbers from list res = 0 for item in ini_list: try: res+= int(item) except ValueError: pass # printing result print ("resultant sum", res)
Producción:
initial list [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] resultant sum 15
Método #3: Usar isinstance y sentencias condicionales
Python3
# Python code to demonstrate # how to add only numbers present # in a list of characters and numbers # initialising lists ini_list = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] # printing initial list print ("initial list", str(ini_list)) # code to add numbers from list res = sum([x for x in ini_list if isinstance(x, int)]) # printing result print ("resultant sum", res)
Producción:
initial list [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] resultant sum 15
Método #4: Usando los métodos type() y find()
Python3
# Python code to demonstrate # how to add only numbers present # in a list of characters and numbers # initialising lists ini_list = [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] # printing initial list print ("initial list", str(ini_list)) # code to add numbers from list res=0 for i in ini_list: p=str(type(i)) if(p.find('int')!=-1): res+=int(i) # printing result print ("resultant sum", res) #contributed by Bhavya Koganti
Producción
initial list [1, 2, 3, 4, 'a', 'b', 'x', 5, 'z'] resultant sum 15
Publicación traducida automáticamente
Artículo escrito por garg_ak0109 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA