Cómo multiplicar listas en Python: 7 formas rápidas

Multiplicar listas en Python es una operación común cuando se realizan cálculos matemáticos o se resuelven problemas en la manipulación de datos. Hay varias formas de lograr esta tarea, según sus requisitos y las bibliotecas que tenga disponibles.

Para multiplicar listas en Python, puede usar bucles for, comprensión de listas, funciones zip y map, o el módulo de funciones integrado. También puede usar funciones de una biblioteca Python externa como NumPy.

Este artículo le mostrará muchas formas diferentes de multiplicar listas, cada una con un ejemplo de código y resultados explicados.

¡Empecemos!

Tabla de contenido

2 tipos de multiplicación de listas numéricas en Python

Antes de sumergirnos en los métodos específicos, debe comprender el tipo de multiplicación de listas que logran.

Python tiene varios conceptos diferentes que se encuentran bajo el término amplio de multiplicación de listas. Eso incluye replicar listas o lograr el producto cartesiano de elementos dentro de una lista.

En cambio, este artículo se centra en dos tipos de multiplicación aritmética de elementos dentro de una lista:

  1. Multiplicación por valor

  2. Multiplicación por elementos

Echemos un vistazo rápido a estos dos conceptos.

1. Multiplicación por valor

Cuando tenga una lista de números enteros, es posible que desee multiplicar cada elemento por un valor específico. Por ejemplo, tienes una lista [1, 2, 3] y quieres multiplicar cada elemento por el valor 3.

Podría intentar (incorrectamente) usar el operador de multiplicación como en este fragmento de código:

list1 = [1, 2, 3]
result = list1 * 3

Te sorprenderá que el resultado sea [1, 2, 3, 1, 2, 3, 1, 2, 3]. Esto se conoce como replicación de listas .

2. Multiplicación de listas por elementos

Suponga que tiene dos listas: [1, 2, 3] y [4, 5, 6]

Desea multiplicar los elementos en el mismo índice dentro de la lista para producir [4, 10, 18] como resultado.

Si intenta multiplicar dos listas de Python usando el operador '*', obtendrá un error:

TypeError: no se puede multiplicar la secuencia por no int del tipo 'lista'

Esto se debe a que el operador de multiplicación no está diseñado para funcionar con listas de la forma en que lo hace con números enteros o flotantes. En cambio, multiplicar listas requiere una operación conocida como multiplicación por elementos.

La multiplicación por elementos empareja los elementos correspondientes de dos listas y los multiplica, formando una nueva lista.

Ahora que entiendes estos dos conceptos. trabajemos a través de una variedad de técnicas para lograr los resultados correctos.

Cómo usar un bucle For para varios elementos de lista en Python

Cómo multiplicar listas en Python: 7 formas rápidas

Suponga que desea multiplicar los elementos de la lista por un valor. Para este enfoque, puede iterar a través de los elementos con un bucle for y multiplicar cada uno por un segundo valor.

He aquí un ejemplo con una lista. La variable de resultado contiene la lista de salida.

list1 = [1, 2, 3, 4]
factor = 3
result = []

for element in list1:
    result.append(element * factor)

En este caso, la lista de resultados será [3, 6, 9, 12].

Cómo usar la comprensión de listas para la multiplicación

Las comprensiones de lista proporcionan una forma concisa de realizar el tipo numérico de multiplicaciones de lista. Obtiene el mismo resultado que usando un bucle for , pero con una sintaxis más compacta.

Aquí está el ejemplo anterior usando la comprensión de listas:

list1 = [1, 2, 3, 4]
factor = 3
result = [element * factor for element in list1]

Este código da como resultado el mismo resultado que antes: [3, 6, 9, 12].

Cómo usar la función Zip para la multiplicación por elementos

Cómo multiplicar listas en Python: 7 formas rápidas

Si tiene dos listas de números enteros, es posible que desee multiplicar las listas por elementos. Esto significa que multiplicas el primer elemento de la primera lista por el primer elemento de la segunda lista y así sucesivamente con los elementos en la misma posición.

La función zip() puede lograr esto cuando la combina con la comprensión de listas.

La función combina los elementos de dos listas de entrada, permitiéndole recorrerlas en paralelo. Aquí hay un ejemplo usando listas del mismo tamaño:

list1 = [1, 2, 3, 4]
list2 = [2, 3, 4, 5]
result = [a * b for a, b in zip(list1, list2)]

En este caso, la variable resultado contendrá la lista resultante: [4, 10, 18].

Trabajar con tuplas y constructores

A veces, es posible que deba trabajar con listas que contengan tuplas en lugar de números enteros simples.

Para multiplicar dos listas de tuplas , puedes usar una combinación de:

  • función zip()

  • constructores de tuplas

  • lista de comprensiones

Aquí hay un ejemplo:

list1 = [(1, 2), (3, 4)]
list2 = [(5, 6), (7, 8)]

result = [tuple(a * b for a, b in zip(t1, t2)) for t1, t2 in zip(list1, list2)]

Este es el resultado: [(5, 12), (21, 32)].

Cómo usar una función Map y Lambda en Python

Cómo multiplicar listas en Python: 7 formas rápidas

La función de mapa en Python es una forma conveniente de aplicar una función a cada elemento en un iterable como una lista.

Una función lambda en Python es una pequeña función anónima. Esto significa que es una función sin nombre.

Para multiplicar dos listas por elementos, puede combinar las funciones map y lambda:

list1 = [1, 2, 3]
list2 = [4, 5, 6]
result = list(map(lambda x, y: x * y, list1, list2))

La variable resultado contendrá las listas multiplicadas: [4, 10, 18].

Cómo usar el módulo de operador en Python

El módulo de operador proporciona una gran cantidad de funciones útiles para trabajar con diferentes tipos y estructuras de datos.

La función operator.mul() se puede usar para multiplicar listas de números enteros cuando se combina con la función de mapa.

import operator

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = list(map(operator.mul, list1, list2))

En este ejemplo, importa el módulo de operador y usa la función mul() junto con la función map() integrada de Python para multiplicar cada elemento de las dos listas.

La variable resultado contendrá las listas multiplicadas: [4, 10, 18].

Biblioteca NumPy: las funciones de matriz y multiplicación

Cómo multiplicar listas en Python: 7 formas rápidas

La biblioteca NumPy es una poderosa biblioteca externa en Python, ampliamente utilizada para el cálculo numérico y el trabajo con matrices. Esta biblioteca es especialmente eficiente cuando se trata de arreglos grandes o arreglos multidimensionales.

Para usar NumPy puedes instalarlo usando pip:

pip install numpy

Para realizar la multiplicación por elementos en dos listas usando NumPy, siga estos pasos generales:

  1. Convierta cada lista en una matriz NumPy usando numpy.array() .

  2. Realice la multiplicación usando la función de multiplicación NumPy.

  3. Opcionalmente, vuelva a convertir el resultado en una lista de Python usando el método tolist()

Aquí hay un ejemplo de código:

import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]
arr1 = np.array(list1)
arr2 = np.array(list2)

res_arr = np.multiply(arr1, arr2)
result = res_arr.tolist()

Esto devolverá el mismo resultado que en los ejemplos anteriores: [4, 10, 18].

Cómo combinar Functools y NumPy en Python

La biblioteca de funciones contiene una función de reducción que aplica una función específica de forma acumulativa a los elementos de una lista, reduciendo la lista a un solo valor.

Para multiplicar dos listas usando la función reduce() , puede combinarla con la función de multiplicación de la biblioteca NumPy.

Aquí hay un ejemplo:

from functools import reduce
import numpy as np

list1 = [1, 2, 3]
list2 = [4, 5, 6]

result = reduce(np.multiply, [list1, list2])

Este código importa las bibliotecas necesarias y usa la función reduce() junto con numpy.multiply() para realizar la multiplicación por elementos de las dos listas.

Trabajar con listas y otras estructuras de datos en Python

La mayoría de los aspectos del análisis de datos requieren trabajar con listas, conjuntos y otras estructuras de datos. Por ejemplo, pondrá en práctica su conocimiento al manejar datos faltantes con interpolación.

Mira este video para conocer algunas técnicas avanzadas:

Pensamientos finales

Has aprendido varios métodos para multiplicar listas aritméticamente en Python. Algunos solo usan módulos y funciones integrados, mientras que otros se basan en bibliotecas de terceros.

La capacidad de realizar multiplicaciones por elementos abre la puerta a una gran variedad de aplicaciones. Desde el análisis de datos hasta el aprendizaje automático, estas operaciones son una parte esencial de muchos algoritmos y tareas computacionales.

Si bien este artículo se enfocó en la multiplicación, los conceptos que aprendiste también se extienden a otras operaciones. La suma, la resta y la división por elementos también se pueden lograr de la misma manera.

Recuerde, la mejor manera de solidificar estos conceptos es aplicándolos, así que adelante, encienda su entorno de Python y comience a experimentar. Ya sea que esté automatizando tareas, manipulando datos o creando software complejo, estas técnicas sin duda serán útiles.

¡Feliz pitón!

Leave a Comment

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Time Intelligence en LuckyTemplates: cómo calcular el número de transacciones realizadas en los últimos N días

Descubra cómo calcular el total de transacciones realizadas en los últimos N días y obtenga información útil utilizando la inteligencia de tiempo en LuckyTemplates.

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

Cómo evaluar clústeres en sus datos mediante la técnica DAX en LuckyTemplates

En este tutorial, demuestro cómo mostrar clústeres en sus datos permite extraer información valiosa usando técnicas DAX avanzadas.

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

¿Cuánto personal tenemos actualmente? Lógica de fechas múltiples en LuckyTemplates usando DAX

En este tutorial, aprenderá a calcular la <strong>población actual del personal</strong> para las relaciones múltiples de la tabla de calendario mediante la función COUNTROWS y FILTER en LuckyTemplates.

Hacer una solicitud HTTP en Power Automate

Hacer una solicitud HTTP en Power Automate

Aprenda a crear una solicitud HTTP con Power Automate y cómo implementar soluciones efectivas para la automatización de tareas.

Programe un flujo de escritorio para que se ejecute en Power Automate

Programe un flujo de escritorio para que se ejecute en Power Automate

En este tutorial, aprenda cómo programar un flujo de escritorio en Power Automate para automatizar tareas en la web y su escritorio.

Power Automate Terminar Control de acción en flujos

Power Automate Terminar Control de acción en flujos

Aprenda a usar correctamente el control Terminar acción de Power Automate que termina las acciones en un flujo si no se cumple alguna de las condiciones.

Power Query: combinar archivos de varias carpetas

Power Query: combinar archivos de varias carpetas

Aprenda a combinar archivos de varias carpetas en su red, escritorio, OneDrive o SharePoint utilizando Power Query.

Tipos de flujo de Power Automate y cuándo usarlos

Tipos de flujo de Power Automate y cuándo usarlos

En este blog, analizamos las similitudes y diferencias entre los tipos de flujo de Power Automate y determinamos cuándo usar cada flujo. Encuentra la mejor opción de automatización.

Conectores de Power Automate: número, texto y fecha y hora

Conectores de Power Automate: número, texto y fecha y hora

Familiarízate con algunos conectores Power Automate integrados que transforman cadenas en otro formato: número, texto y fecha y hora.

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Tutorial del analizador VertiPaq: relaciones e integridad referencial

Este tutorial detallado sobre el analizador VertiPaq en DAX Studio le enseñará cómo usar la pestaña Relaciones para optimizar su DAX y resolver problemas de integridad referencial.