En Python, una matriz es una colección de tipos de datos similares almacenados en ubicaciones de memoria contiguas. los módulo de matriz le permite crear y manipular matrices en Python. La forma más común de crear una matriz en Python es usar la función array() del módulo de matriz, que toma una secuencia de números como argumento. Por ejemplo:
import array arr = array.array('f', [1.0, 2.0, 3.0, 4.0])
Esto crea una matriz de valores flotantes con los valores especificados. A continuación, se puede acceder a los elementos de la matriz y manipularlos utilizando su índice en la matriz. Por ejemplo:
print(arr[0]) # prints 1.0 arr[0] = 5.0 print(arr[0]) # prints 5.0
También puede usar la función len() incorporada para encontrar la longitud de la matriz:
print(len(arr)) # prints 4
Las matrices ayudan a almacenar y manipular datos organizados en secuencias ordenadas. Puede usarlos para almacenar listas de números, cadenas u otros tipos de datos.
Sin embargo, tienen la limitación de que solo pueden almacenar datos de un solo tipo. Para estructuras de datos más complejas, es posible que desee utilizar otros tipos de datos, como listas o diccionarios.
Ahora aprendamos más sobre las matrices en Python con la ayuda de estos 15 programas comunes de matrices de Python.
Los 15 programas de matriz de Python más comunes
1. Programa de Python para copiar todos los elementos de una matriz a otra matriz
Aquí hay un programa Python simple para copiar todos los elementos de una matriz a otra matriz:
# define a function to copy all elements of one array into another def copy_array(arr1, arr2): # iterate over the elements in the first array for i in range(len(arr1)): # copy the element from the first array to the second arr2[i] = arr1[i] # create two arrays arr1 = [1, 2, 3, 4, 5] arr2 = [0, 0, 0, 0, 0] # copy all elements of the first array into the second copy_array(arr1, arr2) # print the second array print(arr2)
Este programa define una función llamada copy_array(), que toma dos matrices como argumentos. Utilice un bucle for para recorrer en iteración los elementos de la primera matriz y copiar cada elemento de la primera matriz al índice correspondiente de la segunda matriz.
Después de definir la función copy_array(), el programa crea arr1 y arr2 y los inicializa con algunos valores. Luego llame a la función copy_array() para copiar todos los elementos de arr1 a arr2. Finalmente, imprima la segunda matriz para verificar que los elementos se copiaron correctamente.
Este programa produciría lo siguiente:
[1, 2, 3, 4, 5]
Tenga en cuenta que hay otras formas de copiar elementos de una matriz a otra en Python, como usar el método copy() o dividir. Puede leer más sobre estos métodos en la documentación de Python.
2. Programa de Python para encontrar la frecuencia de cada elemento en la matriz
Aquí hay un programa Python simple para encontrar la frecuencia de cada elemento en la matriz:
# define a function to find the frequency of each element in the array def find_frequency(arr): # create a dictionary to store the frequency of each element frequency = {} # iterate over the elements in the array for element in arr: # if the element is not in the dictionary, add it with a frequency of 1 if element not in frequency: frequency[element] = 1 # otherwise, increment the frequency of the element else: frequency[element] += 1 # return the frequency dictionary return frequency # create an array arr = [1, 2, 3, 4, 5, 1, 2, 3, 4, 1] # find the frequency of each element in the array frequencies = find_frequency(arr) # print the frequency of each element for element, frequency in frequencies.items(): print(f"{element}: {frequency}")
Este programa define una función llamada find_frequency(), que toma una matriz como argumento. Cree un diccionario vacío llamado frecuencia para almacenar la frecuencia de cada elemento en la matriz.
Luego, use un bucle for para iterar a través de los elementos de la matriz y contar la frecuencia de cada elemento. Almacena la frecuencia de cada elemento en el diccionario de frecuencias y devuelve el diccionario cuando se han contado todos los elementos.
Después de definir la función find_frequency(), el programa crea una matriz llamada arr y la inicializa con algunos valores. Luego llama a la función find_frequency() para encontrar la frecuencia de cada elemento en la matriz y almacena el resultado en un diccionario llamado frecuencias.
Finalmente, use otro ciclo for para iterar a través de los elementos y frecuencias en el diccionario de frecuencias e imprimir la frecuencia de cada elemento.
Este programa produciría lo siguiente:
1: 3 2: 2 3: 2 4: 2 5: 1
Tenga en cuenta que hay otras formas de encontrar la frecuencia de cada elemento en una matriz en Python, como usar la clase Counter del módulo de colecciones. Puede leer más sobre estos métodos en la documentación de Python.
3. Programa de Python para rotar elementos de una matriz a la izquierda
Aquí hay un programa Python simple para rotar elementos de una matriz a la izquierda:
# Function to left rotate arr[] of size n by d def leftRotate(arr, d, n): for i in range(d): leftRotatebyOne(arr, n) # Function to left Rotate arr[] of size n by 1 def leftRotatebyOne(arr, n): temp = arr[0] for i in range(n-1): arr[i] = arr[i+1] arr[n-1] = temp # utility function to print an array def printArray(arr, size): for i in range(size): print("%d"% arr[i], end=" ") # Driver program to test above functions arr = [1, 2, 3, 4, 5, 6, 7] leftRotate(arr, 2, 7) # Rotate array by 2 printArray(arr, 7)
Aquí, la función leftRotate(arr, d, n) rota la matriz arr de tamaño n por d elementos. Esto se hace llamando repetidamente a la función leftRotatebyOne(arr, n).
La función leftRotatebyOne(arr, n) gira la matriz un elemento desplazando todos los elementos a la izquierda una posición y copiando el primer elemento en la última posición.
Por ejemplo, si la matriz arr es [1, 2, 3, 4, 5, 6, 7] y es 2, la función leftRotate(arr, 2, 7) llamará primero a leftRotatebyOne(arr, 7), que rotará la matriz a [2, 3, 4, 5, 6, 7, 1].
Luego, llamará a leftRotatebyOne(arr, 7) nuevamente, lo que rotará la matriz en [3, 4, 5, 6, 7, 1, 2]. La matriz rotada final se imprimirá utilizando la función printArray(arr, size).
Leer también: Comprenda cómo funcionan las declaraciones de impresión en Python
4. Programa de Python para imprimir elementos duplicados de una matriz
Aquí hay un programa Python simple para imprimir los elementos duplicados de una matriz:
# Function to print duplicate elements in the array def printDuplicates(arr, n): # Create an empty dictionary freq = {} # Traverse the array and store the frequency of each element in the dictionary for i in range(n): if arr[i] in freq: freq[arr[i]] += 1 else: freq[arr[i]] = 1 # Traverse the dictionary and print all the elements with frequency greater than 1 for key, value in freq.items(): if value > 1: print(key, end=" ") # Driver program to test above function arr = [1, 2, 3, 1, 3, 6, 6] n = len(arr) printDuplicates(arr, n)
En este programa, la función printDuplicates(arr, n) primero crea una frecuencia de diccionario vacía. Luego atraviesa la matriz arr de tamaño y almacena la frecuencia de cada elemento en el diccionario.
Después de recorrer la matriz, la función recorre el diccionario e imprime todos los elementos con una frecuencia mayor que 1.
Por ejemplo, si la matriz arr es [1, 2, 3, 1, 3, 6, 6], el diccionario será {1: 2, 2: 1, 3: 2, 6: 2}. La función imprimirá los elementos 1, 3 y 6 ya que tienen una frecuencia mayor que 1.
Nota: Este programa solo funciona para matrices de tamaño mayor o igual a 1. Si el tamaño de la matriz es 0, el programa no funcionará correctamente.
5. Programa en Python para imprimir los elementos de un arreglo
Aquí hay un programa simple de Python para imprimir los elementos de una matriz:
# Function to print the elements of an array def printArray(arr, n): for i in range(n): print(arr[i], end=" ") # Driver program to test above function arr = [1, 2, 3, 4, 5] n = len(arr) printArray(arr, n)
En este programa, la función printArray(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego use un bucle for para recorrer la matriz e imprimir cada elemento.
Por ejemplo, si la matriz arr es [1, 2, 3, 4, 5]la función imprimirá los elementos 1, 2, 3, 4 y 5 en líneas separadas.
Nota: Este programa solo funciona para matrices de tamaño mayor o igual a 1. Si el tamaño de la matriz es 0, el programa no funcionará correctamente.
6. Programa Python para imprimir los elementos de una matriz en orden inverso
Aquí hay un programa de Python simple para imprimir los elementos de una matriz en orden inverso:
# Function to print the elements of an array in reverse order def printArrayInReverse(arr, n): for i in range(n-1, -1, -1): print(arr[i], end=" ") # Driver program to test above function arr = [1, 2, 3, 4, 5] n = len(arr) printArrayInReverse(arr, n)
En este programa, la función printArrayInReverse(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego use un ciclo for iterar a través de la matriz en orden inverso e imprimir cada elemento.
Por ejemplo, si la matriz arr es [1, 2, 3, 4, 5]la función imprimirá los elementos 5, 4, 3, 2 y 1 en líneas separadas.
Nota: Este programa solo funciona para matrices de tamaño mayor o igual a 1. Si el tamaño de la matriz es 0, el programa no funcionará correctamente.
7. Programa de Python para imprimir los elementos pares de una matriz
Aquí hay un programa Python simple para imprimir los elementos pares de una matriz:
# Function to print the elements of an array present on an even position def printArrayEvenPositions(arr, n): for i in range(0, n, 2): print(arr[i], end=" ") # Driver program to test above function arr = [1, 2, 3, 4, 5] n = len(arr) printArrayEvenPositions(arr, n)
En este programa, la función imprimirArrayEvenPositions(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego use un ciclo for para recorrer la matriz e imprimir cada elemento en una posición par (índice 0, 2, 4, etc.).
Por ejemplo, si la matriz arr es [1, 2, 3, 4, 5]la función imprimirá los elementos 1 y 3.
Nota: Este programa solo funciona para matrices de tamaño mayor o igual a 1. Si el tamaño de la matriz es 0, el programa no funcionará correctamente.
8. Programa de Python para imprimir los elementos en posiciones impares de una matriz
Aquí hay un programa simple de Python para imprimir los elementos de una matriz en una posición impar:
# Function to print the elements of an array present on an odd position def printArrayOddPositions(arr, n): for i in range(1, n, 2): print(arr[i], end=" ") # Driver program to test above function arr = [1, 2, 3, 4, 5] n = len(arr) printArrayOddPositions(arr, n)
En este programa, la función imprimirArrayOddPositions(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego use un bucle for para recorrer la matriz e imprimir cada elemento en una posición impar (índice 1, 3, 5, etc.).
Por ejemplo, si la matriz arr es [1, 2, 3, 4, 5]la función imprimirá los elementos 2 y 4.
9. Programa de Python para imprimir el elemento más grande en una matriz
Aquí hay un programa Python simple para imprimir el elemento más grande en una matriz:
# Function to find the largest element in the array def findLargest(arr, n): max = arr[0] for i in range(1, n): if arr[i] > max: max = arr[i] return max # Driver program to test above function arr = [10, 20, 30, 40, 50] n = len(arr) print("Largest element in the array:", findLargest(arr, n))
En este programa, la función findLargest(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego inicialice la variable max con el primer elemento de la matriz y use un bucle for para recorrer la matriz. Para cada elemento, si es mayor que el valor actual de max, max se actualiza con el nuevo valor.
Finalmente, la función devuelve el valor de max, el elemento más grande de la matriz.
Por ejemplo, si la matriz arr es [10, 20, 30, 40, 50]la función devolverá el valor 50 como el elemento más grande de la matriz.
10. Programa de Python para imprimir el elemento más pequeño en una matriz
Aquí hay un programa Python simple para imprimir el elemento más pequeño en una matriz:
# Function to find the smallest element in the array def findSmallest(arr, n): min = arr[0] for i in range(1, n): if arr[i] < min: min = arr[i] return min # Driver program to test above function arr = [10, 20, 30, 40, 50] n = len(arr) print("Smallest element in the array:", findSmallest(arr, n))
En este programa, la función findsmallest(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego inicialice la variable min con el primer elemento de la matriz y use un bucle for para recorrer la matriz. Si cada elemento es menor que el valor mínimo actual, el mínimo se actualiza con el nuevo valor.
Finalmente, la función devuelve el valor de min, el elemento más pequeño de la matriz.
Por ejemplo, si la matriz arr es [10, 20, 30, 40, 50]la función devolverá el valor 10 como el elemento más pequeño de la matriz.
11. Programa de Python para imprimir el número de elementos en una matriz
Aquí hay un programa de Python simple para imprimir la cantidad de elementos en una matriz:
# Function to print the number of elements in the array def printArrayLength(arr): n = len(arr) print("Number of elements in the array:", n) # Driver program to test above function arr = [10, 20, 30, 40, 50] printArrayLength(arr)
En este programa, la función printArrayLength(arr) toma una matriz arr como argumento. Luego use la función len() para encontrar la longitud de la matriz (número de elementos) e imprímala.
Por ejemplo, si la matriz arr es [10, 20, 30, 40, 50]la función imprimirá el mensaje «Número de elementos en la matriz: 5».
12. Programa de Python para imprimir la suma de todos los elementos en una matriz
Aquí hay un programa Python simple para imprimir la suma de todos los elementos en una matriz:
# Function to find the sum of all elements in the array def findSum(arr, n): sum = 0 for i in range(n): sum += arr[i] return sum # Driver program to test above function arr = [10, 20, 30, 40, 50] n = len(arr) print("Sum of all elements in the array:", findSum(arr, n))
En este programa, la función findSum(arr, n) toma una matriz arr y su tamaño n como argumentos. Luego inicialice una suma variable a 0 y use un bucle for para recorrer la matriz. Para cada artículo, el valor se suma a la suma.
Finalmente, la función devuelve el valor de sum, que es la suma de todos los elementos de la matriz.
Por ejemplo, si la matriz arr es [10, 20, 30, 40, 50]la función devolverá el valor 150 como la suma de todos los elementos de la matriz.
13. Programa de Python para elementos de matriz que giran a la derecha
Aquí hay un programa simple de Python para rotar a la derecha los elementos de una matriz:
# Function to right rotate arr[] of size n by d def rightRotate(arr, d, n): for i in range(d): rightRotatebyOne(arr, n) # Function to right Rotate arr[] of size n by 1 def rightRotatebyOne(arr, n): temp = arr[n-1] for i in range(n-2, -1, -1): arr[i+1] = arr[i] arr[0] = temp # utility function to print an array def printArray(arr, size): for i in range(size): print("%d"% arr[i], end=" ") # Driver program to test above functions arr = [1, 2, 3, 4, 5, 6, 7] rightRotate(arr, 2, 7) # Rotate array by 2 printArray(arr, 7)
Aquí, la función rightRotate(arr, d, n) rota la matriz arr de tamaño n por d elementos. Esto se hace llamando repetidamente a la función rightRotatebyOne(arr, n). La función rightRotatebyOne(arr, n) gira la matriz un elemento desplazando todos los elementos a la derecha una posición y copiando el último elemento en el primero.
Por ejemplo, si la matriz arr es [1, 2, 3, 4, 5, 6, 7] y es 2, la función rightRotate(arr, 2, 7) llamará primero a rightRotatebyOne(arr, 7), que rotará la matriz a [7, 1, 2, 3, 4, 5, 6]. Luego, llamará a rightRotatebyOne(arr, 7) nuevamente, lo que rotará la matriz para [6, 7, 1, 2, 3, 4, 5]. La matriz rotada final se imprimirá utilizando la función printArray(arr, size).
14. Programa en Python para ordenar los elementos de un arreglo en orden ascendente
Aquí hay un programa de Python simple para ordenar los elementos de una matriz en orden ascendente:
# Function to sort the array in ascending order def sortArrayAscending(arr, n): for i in range(n): for j in range(0, n-i-1): if arr[j] > arr[j+1] : arr[j], arr[j+1] = arr[j+1], arr[j] # Driver program to test above function arr = [64, 34, 25, 12, 22, 11, 90] n = len(arr) sortArrayAscending(arr, n) print ("Sorted array is:") for i in range(n): print ("%d" %arr[i])
En este programa, la función sortArrayAscending(arr, n) toma una matriz arr y su tamaño n como argumentos. A continuación, utiliza dos bucles for anidados para atravesar la matriz y clasificar los elementos en orden ascendente mediante el algoritmo de clasificación de burbujas.
Por ejemplo, si la matriz arr es [64, 34, 25, 12, 22, 11, 90]la función ordenará la matriz en orden ascendente y la matriz ordenada final será [11, 12, 22, 25, 34, 64, 90].
15. Programa en Python para ordenar los elementos de un arreglo en orden descendente
Aquí hay un programa de Python simple para ordenar los elementos de una matriz en orden descendente:
# Function to sort the array in descending order def sortArrayDescending(arr, n): for i in range(n): for j in range(0, n-i-1): if arr[j] < arr[j+1] : arr[j], arr[j+1] = arr[j+1], arr[j] # Driver program to test above function arr = [64, 34, 25, 12, 22, 11, 90] n = len(arr) sortArrayDescending(arr, n) print ("Sorted array is:") for i in range(n): print ("%d" %arr[i])
En este programa, la función sortArrayDescending(arr, n) toma una matriz arr y su tamaño n como argumentos. Aquí usamos el algoritmo de clasificación de burbujas, que utiliza dos bucles for anidados para recorrer la matriz y clasificar los elementos en orden descendente.
Por ejemplo, si la matriz arr es [64, 34, 25, 12, 22, 11, 90]la función ordenará la matriz en orden descendente y la matriz ordenada final será [90, 64, 34, 25, 22, 12, 11].
Resumen
Con eso, resumimos nuestra lista de los 15 programas de matriz de Python más comunes. Estudie estos programas para comprender cómo funciona el módulo de matriz en Python. Suscríbase a nuestro boletín para recibir estos artículos directamente en su bandeja de entrada.