Aprende todo sobre el función suma() en Python: desde la sintaxis para usarlo con varios iterables, con ejemplos de código útiles.
Cuando se trabaja con iterables de Python, como una lista de números, una operación común es encontrar la suma de todos los elementos en la lista. También encontraremos este tipo de operaciones cuando trabajemos con otros iterables, como tuplas y conjuntos.
Esto se puede hacer de diferentes maneras, pero la forma Pythonic recomendada es usar la función incorporada sum().
Aquí, comenzaremos observando los otros enfoques, como la creación de bucles y la definición de una función. A continuación, aprenderemos la sintaxis de la función sum() de Python y el código de muestra para comprenderlo mejor.
Suma de valores en un Python iterable
📋 Puedes codificar en un REPL de Python. O puede usar el editor Python en línea de Geekflare.
Considere la siguiente lista de números:
>>> nums = [2,8,5,3,11,7,9]
Nuestro objetivo es encontrar la suma de todos los números en la lista. Llegaremos a Python sum()
pronto, pero comenzaremos con algunos de los otros enfoques que podemos tomar. Éstas incluyen:
- Usando un bucle for simple
- Al usar el
reduce()
función del módulo functools - Definir una función personalizada
Usar bucles
Para encontrar la suma de todos los elementos en una lista, podemos usar un ciclo for como este:
- Inicializar
total
variable a cero. - Bucle a través de la
nums
enumere y acceda a cada número. - Añadir el número a
total
.
>>> nums = [2,8,5,3,11,7,9]
>>> total = 0
>>> for num in nums:
... total += num
...
>>> total
45
Uso de la función de contracción
Otro enfoque para sumar iterables es usar el reduce()
función. La función reduce, integrada en Python módulo de herramientas de función, toma una función y un iterable. Y reduce el iterable aplicando sucesivamente la función sobre los elementos del iterable.
Aquí usamos una función lambda para definir la suma de dos números y pasar nums
enumerar como iterable.
>>> nums = [2,8,5,3,11,7,9]
>>> from functools import reduce
>>> total = reduce(lambda n1, n2: n1 + n2, nums)
>>> total
45
EL reduce()
La función funciona sumando sucesivamente dos números, de izquierda a derecha, hasta que se reduce a un único valor de suma:
Uso de una función personalizada
También podemos definir una función personalizada para hacer esto. Aquí definimos una función sum_list
Este:
- Toma una lista de números como argumento y
- Devuelve la suma de los elementos de una lista.
El cuerpo de la función usa la construcción de bucle que vimos antes. Pero definir una función nos da reutilización.
>>> def sum_list(some_list):
... total = 0
... for num in some_list:
... total += num
... return total
...
llamándolo sum_list()
funcionar con nums
porque los argumentos devuelven la suma de 45:
>>> nums = [2,8,5,3,11,7,9]
>>> total = sum_list(nums)
>>> total
45
A continuación, descubramos el módulo integrado. sum()
función. No es sólo conciso pero también robusto en el sentido de que funciona bien con múltiples iterables y tipos de datos.
Sintaxis de la función Python Sum
La sintaxis a utilizar sum()
función es la siguiente:
sum(iterable, start)
Aquí,
iterable
es un requerido argumento. Puede ser cualquier iterable para el que la operación de suma sea válida, como una lista o tuplas de números. llamándolosum()
La función con cadenas de Python arroja TypeError (más sobre eso más adelante).start
es un opcional argumento. Suele ser un valor numérico que se suma a la suma calculada. Esto puede ser útil cuando necesita agregar un valor constante al resultado.
Ahora que hemos aprendido la sintaxis de Python sum()
función, usémosla para sumar los iterables.
Sumar iterables con la función Sum
#1. Lista
Encuentre la suma de los números en el nums
lista usando el sum()
función:
>>> nums = [2,8,5,3,11,7,9]
>>> sum_1 = sum(nums)
>>> sum_1
45
Usando semilla opcional
Para agregar un valor constante a la suma, podemos usar el sum()
función con opción start
valor. Aquí entramos en un start
valor de 100 como posicional argumento:
>>> sum_start = sum(nums,100)
>>> sum_start
145
EL start
El valor también se puede especificar como un argumento de palabra clave:
>>> sum_start = sum(nums,start=10)
>>> sum_start
55
#2. tupla
EL sum()
La función también trabaja con tuplas. Creamos una tupla nums_tuple
tirando el nums
lista a una tupla:
>>> nums_tuple = tuple(nums)
>>> nums_tuple
(2, 8, 5, 3, 11, 7, 9)
>>> sum_2 = sum(nums_tuple)
>>> sum_2
45
#3. Juntos
También podemos usar el sum()
función con un conjunto de números:
>>> nums_set = set(nums)
>>> nums_set
{2, 3, 5, 7, 8, 9, 11}
Aquí ejecutamos el nums
lista a un conjunto de Python y calcula la suma de los elementos en nums_set
.
>>> sum_3 = sum(nums_set)
>>> sum_3
45
#4. Diccionario
Considera lo siguiente student_dict
con las teclas numéricas. Observe lo que sucede cuando llama al sum()
función con este diccionario como argumento.
>>> students_dict = {1:106,2:112,3:127}
>>> sum_4 = sum(students_dict)
>>> sum_4
6
EL sum()
La función, por defecto, devuelve la suma de las claves.
Suma de llaves
sabemos que el por defecto es añadir las claves del diccionario.
Sin embargo, puede hacer esto más explícito usando el método del diccionario. keys()
para acceder a las claves. Y luego pase la lista de claves a sum()
función:
>>> sum_keys = sum(students_dict.keys())
>>> sum_keys
6
Suma de valores
Si desea sumar los valores del diccionario, acceda a los valores llamando al values()
método en el objeto del diccionario:
>>> sum_vals = sum(students_dict.values())
>>> sum_vals
345
Uso de la función Sum de Python con otros tipos de datos numéricos
Hasta ahora hemos visto cómo usar el sum()
función con enteros iterables. Ahora veamos algunos ejemplos con otros tipos de datos numéricos.
Números complejos
EL sum()
La función también se puede utilizar para sumar números complejos. En este ejemplo, nums_c
es una lista de números complejos:
>>> nums_c = [3 + 4j, 1 + 2j]
>>> sum_c = sum(nums_c)
>>> sum_c
(4+6j)
Números de punto flotante
Aquí usamos el sum()
función para sumar la lista de números de punto flotante nums_f
:
>>> nums_f = [1.8,2.5,3.6,7.2]
>>> sum_f = sum(nums_f)
>>> sum_f
15.100000000000001
📑 Para una mejor precisión en el resultado de sumar números de punto flotante, puedes usar el función suma() desde el módulo matemático para sumar iterables con valores de punto flotante.
Aplanar con la función Sum
Ahora veamos cómo el sum()
La función se puede utilizar para aplanar y concatenar iterables.
Aplanar una lista
Supongamos que tenemos una lista anidada:
>>> lists = [[2,4,6],[3,5,7]]
Cuando llamamos a la sum()
función que pasa esta lista anidada como argumento con una lista vacía como argumento start
valor:
>>> sum(lists,[])
[2, 4, 6, 3, 5, 7]
Vemos que la lista anidada ahora se ha aplanado en una sola lista de números.
De manera equivalente, cuando pensamos que la lista es de la forma l3 = [l1,l2]
EL sum()
la función concatena las dos listas l1
Y l2
anidado en la lista l3
.
📝 Como ejercicio rápido, intenta usar el sum()
función en otros iterables anidados.
Error común: no use la función sum () de Python con cadenas
Porque hemos visto que el sum()
la función se puede usar para aplanar y concatenar listas (y otros iterables como tuplas); es tentador pensar que también podemos usarlo para concatenar cadenas.
Pero si intentas hacerlo, te encontrarás con un TypeError
:
>>> sum(['a','b','c'],'')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: sum() can't sum strings [use ''.join(seq) instead]
Por lo tanto, el sum()
La función no se puede usar para agregar (o concatenar) cadenas.
Sin embargo, como se indica en el mensaje de error anterior, puede utilizar el join()
método para concatenar una lista de cadenas en una sola cadena.
>>> ''.join(['a','b','c'])
'abc'
Conclusión
En este tutorial, aprendimos cómo usar el sum()
función para encontrar la suma de todos los elementos de un iterable. La sintaxis general para usar el sum()
la función es: sum(iterable, start)
O iterable
es un requerido argumento y start
es un opcional argumento.
Luego codificamos varios ejemplos para entender el uso del sum()
trabajar con iterables como listas, tuplas, conjuntos y diccionarios. Más tarde vimos cómo el sum()
La función se puede usar para aplanar y concatenar iterables, excepto cadenas de Python.
Espero que hayas encontrado útil este tutorial. Entonces es posible que desee consultar este tutorial sobre la función de mapa de Python.
Si quiere puede hacernos una donación por el trabajo que hacemos, lo apreciaremos mucho.
Direcciones de Billetera:
- BTC: 14xsuQRtT3Abek4zgDWZxJXs9VRdwxyPUS
- USDT: TQmV9FyrcpeaZMro3M1yeEHnNjv7xKZDNe
- BNB: 0x2fdb9034507b6d505d351a6f59d877040d0edb0f
- DOGE: D5SZesmFQGYVkE5trYYLF8hNPBgXgYcmrx
También puede seguirnos en nuestras Redes sociales para mantenerse al tanto de los últimos post de la web:
- Telegram
Disclaimer: En Cryptoshitcompra.com no nos hacemos responsables de ninguna inversión de ningún visitante, nosotros simplemente damos información sobre Tokens, juegos NFT y criptomonedas, no recomendamos inversiones