Documentos de Académico
Documentos de Profesional
Documentos de Cultura
P ROGRAMACIÓN
Arreglos
TEORÍA DE ARREGLOS
Definición
Para referirse a una posición en particular o elemento dentro del arreglo, especificaremos el
nombre del arreglo y el número de posición del elemento particular dentro del mismo.
3 5 8 6 0 4 3
0 1 2 3 4 5 6 posición
x = a [2] * 4
Arreglos en Python
Una de ella es asignar a la variable de tipo arreglo los elementos escritos entre corchetes y
separados por coma
a = [1, 3, 5, 3, 4, 6]
De esta forma se asignan al arreglo a seis elementos que son 1, 3, 5, 3, 4 y 6, que ocupan las
posiciones 0, 1, 2, 3, 4, 5 respectivamente
Ejemplo:
Inicializar un arreglo de 5 elementos en cero y mostrarlo:
1
a = [0, 0, 0, 0, 0]
for i in range(0, 5):
print (“\t”, a[i], end=””)
Cuando trabajamos con variables de tipo arreglos, podemos realizar, entre otras, las
siguientes operaciones:
1) Cargar
2) Recorrer
3) Mostrar
4) Buscar un elemento
5) Desplazar
6) Intercambiar
7) Ordenar
Para guardar elementos en un arreglo se utiliza una instrucción repetitiva, por ejemplo
for.
a = []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range (0, n):
a.append (int (input (“Ingrese el valor de cada elemento \t)))
2) Recorrer el arreglo
Para recorrer el arreglo e individualizar uno por uno sus elementos, utilizamos, en
general, también un ciclo repetitivo que permita ir modificando el valor del subindice
Por ejemplo, si queremos sumar los elementos del arreglo, el código es:
2
for i in range(0, n):
sum = sum + a[i]
El valor de la variable i del for nos permite acceder a los elementos del arreglo a desde
la posición 0 hasta la posición n – 1
3) Mostrar un arreglo
Para imprimir o mostrar el arreglo elemento a elemento también usamos un for, pues
debemos recorrerlo para mostrarlo.
La búsqueda de un elemento no significa que ese elemento esté en el arreglo. Por eso la
condición del while debe ser doble, por un lado la condición contraria a pedida para el
elemento (seguirá buscando mientras no lo encuentre) y por el otro, una condición que
indique si terminamos de recorrer el arreglo.
a = []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range(0, n):
a.append(int(input(“Ingrese el valor de cada elemento \t”)))
for i in range(0, n):
print(“Elemento %d: %d” % (i, a[i]))
i=0
while (i < n and a[i] % 3 != 0):
i=i+1
if i == n:
print(“El vector no tiene ningún elemento múltiplo de 3”)
else:
print(“El primer múltiplo de 3 está en la posición %d y es %d”, % (i, a[i]))
3
Una vez que sale del while debemos preguntar por cuál de las dos condiciones salió y
accionar según corresponda. En el ejemplo, si la instrucción if i == n resulta verdadera
significa que se terminó de recorrer el arreglo (dejo de cumplirse la condición i < n) y no
se encontró ningún múltiplo de 3 (no fue falsa la condición de que a[i] no sea múltiplo de
3 para ningún valor de i)
Para intercambiar dos elementos de un arreglo deben conocerse las dos posiciones que se
quieren intercambiar.
En la posición 2 queda el valor que está en la posición 1, pero el valor que tenía
originalmente la posición 2 se perdió y en la posición 1 sigue quedando su valor original.
Es decir, no logramos lo pedido.
Para poder intercambiar, sin perder ningún valor, debemos declarar una variable auxiliar
y guardar allí el valor de posición 2 antes de hacer la asignación.
aux = a[pos2]
a [pos2] = a [pos1]
a [pos1] = aux
En Python existen ciertas funciones para trabajar con arreglos que ya han sido
definidas, tales como insert, sort, reverse, remove, etc.
Insert
Esta función permite insertar un valor en una posición determinada del arreglo,
desplazando los elementos que están a la derecha del mismo.
4
a = []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range(0, n):
a.append(int(input(“Ingrese el valor de cada elemento \t”)))
m = int(input(“Ingres el valor a insertar”))
pos = int(input(“Ingrese la posición en donde va a insertar el numero))
a.insert(pos, m)
for i in range(0, n + 1):
print(a[i])
Reverse
Esta función permite invertir los elementos del arreglo. Se utiliza escribiendo el nombre
del arreglo seguido de un punto y la palabra reverse
nombredelarreglo.reverse()
Sort
Esta función permite ordenar los elementos de un arreglo en forma creciente. Se escribe
el nombre del arreglo seguido de un punto y la palabra sort ()
a = []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range(0, n):
a.append(int(input(“Ingrese el valor de cada elemento \t”)))
a.sort()
for i in range(0, n):
print(a[i])
Para ordenar el arreglo en forma decreciente podemos utilizar la función sort y luego la
función reverse
a = []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range(0, n):
a.append(int(input(“Ingrese el valor de cada elemento \t”)))
a.sort()
a.reverse()
for i in range(0, n):
print(a[i])
5
Remove
Esta función permite eliminar un elemento determinado del arreglo. Se escribe el nombre
del arreglo seguido de un punto y la palabra remove. Entre paréntesis, el parámetro es el
elemento a eliminar (el valor y no la posición).
a = []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range(0, n):
a.append(int(input(“Ingrese el valor de cada elemento \t”)))
a.remove(3) elimina el primer 3 que encuentra
for i in range(0, len(a)):
print(a[i]) muestra como quedo el arreglo
Pop
Esta función permite eliminar el elemento de un arreglo que está en una determinada
posición y devuelve el elemento eliminado. Se escribe el nombre del arreglo seguido
de un punto y la palabra pop. Luego entre paréntesis se escribe la posición del
elemento que se quiere eliminar.
Una vez definida la variable como arreglo en el programa principal, para pasarla como
argumento en una función, se escribe el nombre sin los corchetes. De igual manera en
la definición de la función, la variable que representa al arreglo se escribe como
parámetro sin los corchetes
Ejemplo:
Definir una función que sume las componentes de un arreglo y devuelva las suma al
programa principal.
#programa principal
vec= []
n = int(input(“Ingrese la cantidad de elementos del vector”))
for i in range(0, n):
vec.append(int(input(“Ingrese el valor de cada elemento \t”)))
suma = suma(n, vec)
print(“La suma de los elementos del vector es “, suma)
6
En el ejemplo, la variable vec está declarada como arreglo (vec = []). En la llamada a
la función sumar escribimos solo vec como argumento y en la definición de la función,
el parámetro a recibe las componentes del arreglo y funciona como tal. La función
puede modificar los elementos del arreglo que recibe como parámetro, sin tener que
devolverlo en el return.