Python | Agregar solo valores numéricos presentes en una lista

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

Deja una respuesta

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