📙 Arrays - Python#
1 - Ejemplos Listas (un tipo de dato)
2 - Ejemplos Listas (diferentes tipos de datos)
3 - Plus: Diccionarios
Ejemplos Listas#
Listas con un solo tipo de dato.
En Python la creación de arrays o listas es más sencilla, su sintaxis es la siguiente:
Ejemplo 1
Crea una lista/array con 5 números enteros y muestra en pantalla el array.
lista_enteros = [10, 12, 13, 14, 15]
print(lista_enteros)
[10, 12, 13, 14, 15]
Similar a Java, para acceder a un elemento usamos corchete [ ] y especificamos el indice, el cual uinicia en 0 y termina en N-1, donde N es el tamaño del array.
# Indice 0
print(f'Elemento en indice 0: {lista_enteros[0]}')
# Indice 1
print(f'Elemento en indice 1: {lista_enteros[1]}')
# Indice 2
print(f'Elemento en indice 2: {lista_enteros[2]}')
# Indice 3
print(f'Elemento en indice 3: {lista_enteros[3]}')
# Indice 4
print(f'Elemento en indice 4: {lista_enteros[4]}')
Elemento en indice 0: 10
Elemento en indice 1: 12
Elemento en indice 2: 13
Elemento en indice 3: 14
Elemento en indice 4: 15
Para modificar un valor utilizamos corchetes y el indice:
print(f'Array original: {lista_enteros}')
# Modificando elemento en el indice 0
lista_enteros[0] = 123
# Modificando elemento en el indice 4
lista_enteros[4] = 123
print(f'Array modificado: {lista_enteros}')
Array original: [10, 12, 13, 14, 15]
Array modificado: [123, 12, 13, 14, 123]
El tamaño del array puede obtenerse utilizando la función len() de Python:
print(f'Tamaño del array: {len(lista_enteros)}')
Tamaño del array: 5
Recorriendo cada elemento del array:
for i in range(0, len(lista_enteros), 1):
print(f'Elemento en el indice {i}: {lista_enteros[i]}')
Elemento en el indice 0: 123
Elemento en el indice 1: 12
Elemento en el indice 2: 13
Elemento en el indice 3: 14
Elemento en el indice 4: 123
Ejemplo 2
Crea una lista con 6 nombres, imprime la lista original, luego recorre cada elemento y agrega el string _01, finalmente muestra el resultado final.
# Declarar variables
lista_nombres = ['Juan', 'Pedro', 'Maria', 'Sara', 'Carlos', 'Camila']
string = '_01'
# Lista original
print(f'Lista original: {lista_nombres}\n')
# Recorre elemento a elemento y modificar
for i in range(0, len(lista_nombres), 1):
print(f'Elemento 1: {lista_nombres[i]}')
lista_nombres[i] += string
# Lista modificada
print(f'\nLista final: {lista_nombres}')
Lista original: ['Juan', 'Pedro', 'Maria', 'Sara', 'Carlos', 'Camila']
Elemento 1: Juan
Elemento 1: Pedro
Elemento 1: Maria
Elemento 1: Sara
Elemento 1: Carlos
Elemento 1: Camila
Lista final: ['Juan_01', 'Pedro_01', 'Maria_01', 'Sara_01', 'Carlos_01', 'Camila_01']
Ejemplo 3
Realiza un programa que pida al usuario que ingrese n numeros enteros (n debe ser ingresado por el usuario).
Luego recorre la lista y súmale \(10\) a cada elemento.
Nota. Las listas en Python son similares a los ArrayList en Java, por ejemplo para agregar un elemento se emplea el método append().
# Declarar varaibles
enteros_ingresados = []
numero_adicionar = 10
# Pedir n
n = int(input('Cuántos números deseas ingresar?: '))
# Pedir cada elemento y agregar en la lista
for i in range(0, n, 1):
numero = int(input(f'Ingresa un número en la posición {i}: '))
enteros_ingresados.append(numero)
# Mostrar lista original
print(f'\nLista original: {enteros_ingresados}')
# Realizar operación
for i in range(n):
enteros_ingresados[i] += numero_adicionar
# Mostrar lista final
print(f'\nLista final: {enteros_ingresados}')
Cuántos números deseas ingresar?: 5
Ingresa un número en la posición 0: 12
Ingresa un número en la posición 1: 11
Ingresa un número en la posición 2: 1
Ingresa un número en la posición 3: 1
Ingresa un número en la posición 4: 10
Lista original: [12, 11, 1, 1, 10]
Lista final: [22, 21, 11, 11, 20]
También puedes recorrer una lista con un forEach, así:
for num in enteros_ingresados:
print(num)
22
21
11
11
20
Ejemplos Listas#
Listas con diferentes tipos de datos.
Las listas en Python no están restringidas a un solo tipo de datos, es posible combinar elementos, por ejemplo, con datos enteros, decimales, caracteres, entre otros.
Ejemplo 1
Crea una lista con un dato entero, punto flotante, string y booleano.
lista_combinada = [1, 3.5, "Maria", True]
print(f'Lista combinada: {lista_combinada}')
Lista combinada: [1, 3.5, 'Maria', True]
Es posible cambiar sus elemento con otro tipo de dato:
# Cambiar elemento de tipo entero en indice 0
lista_combinada[0] = "Juan"
# Cambiar elemento de tipo String en indice 2
lista_combinada[2] = False
print(f'Lista modificada: {lista_combinada}')
Lista modificada: ['Juan', 3.5, False, True]
Viendo el tipo de dato de cada elemento:
for elem in lista_combinada:
print(f'Valor: {elem} Tipo: {type(elem)}')
Valor: Juan Tipo: <class 'str'>
Valor: 3.5 Tipo: <class 'float'>
Valor: False Tipo: <class 'bool'>
Valor: True Tipo: <class 'bool'>
Ejemplo 2
Crea una lista con diferentes tipos de datos, muéstrala en pantalla, luego pide al usuario que reemplace cada valor con nombres.
lista_combinada_2 = [34, 45.67, True, False, 'C', [3, 4]]
print(f'Lista original: {lista_combinada_2}\n')
# Pedir nombres para reemplazar cada valor
for i in range(0, len(lista_combinada_2), 1):
print(f'Elemento en el indice {i}: {lista_combinada_2[i]}')
nuevo_valor = str(input("Ingresa un nombre para reemplazar: "))
lista_combinada_2[i] = nuevo_valor
# Lista finalS
print(f'\nLista modificada: {lista_combinada_2}\n')
Lista original: [34, 45.67, True, False, 'C', [3, 4]]
Elemento en el indice 0: 34
Ingresa un nombre para reemplazar: Juan
Elemento en el indice 1: 45.67
Ingresa un nombre para reemplazar: Sara
Elemento en el indice 2: True
Ingresa un nombre para reemplazar: Pedro
Elemento en el indice 3: False
Ingresa un nombre para reemplazar: Maria
Elemento en el indice 4: C
Ingresa un nombre para reemplazar: Camila
Elemento en el indice 5: [3, 4]
Ingresa un nombre para reemplazar: Juana
Lista modificada: ['Juan', 'Sara', 'Pedro', 'Maria', 'Camila', 'Juana']
Ejemplo 3
Crea una lista de nombres e imprimelos en pantalla en orden invertido.
nombres = ['Juan', 'Pedro', 'Maria', 'Camila', 'Sara']
for i in range(len(nombres)-1, 0, -1):
print(f'Nombre en el indice {i-1}: {nombres[i]}')
Nombre en el indice 3: Sara
Nombre en el indice 2: Camila
Nombre en el indice 1: Maria
Nombre en el indice 0: Pedro
Ejemplo 4
Realiza un programa que pida al usuario n números enteros y muestre en pantalla cual es el número más grande.
El usuario debe ingresar
n.Realiza una función para determinar cual es el número más grande.
# Función para encontrar el número más grande
def numero_mas_grande(lista_numeros):
num_mas_grande = lista_numeros[0]
for num in lista_numeros:
if num > num_mas_grande:
num_mas_grande = num
return num_mas_grande
# Inicio del programa
lista_1 = []
# Pedir n
n = int(input("Cuántos números desea ingresar?: "))
# Agregar valores
for i in range(0, n, 1):
numero_ingresado = int(input("Ingrese un número: "))
lista_1.append(numero_ingresado)
# Invocar la función
valor_mas_grande = numero_mas_grande(lista_1)
print(f'\nLista de números: {lista_1}')
print(f'Número más grande: {valor_mas_grande}')
Cuántos números desea ingresar?: 6
Ingrese un número: 100
Ingrese un número: -10
Ingrese un número: -1
Ingrese un número: 105
Ingrese un número: 45
Ingrese un número: 0
Lista de números: [100, -10, -1, 105, 45, 0]
Número más grande: 105
Diccionarios#
Un diccionario es un tipo de estructura de datos que almacena una llave (key) y un valor (value). La llave por lo general es un identificador del valor y no es recomendable repetirlo.
Nota. Es muy similar a un dato tipo JSON.
Su sintaxis es:
Ejemplo 1
Crea un diccionario con las llaves: Nombre, Edad, Pais, Ciudad. Puedes ingresar caulquier valor.
diccionario_persona = {"Nombre": "Juan Perez", "Edad": 25, "Pais": "Colombia", "Ciudad": "Manizales"}
print(diccionario_persona)
{'Nombre': 'Juan Perez', 'Edad': 25, 'Pais': 'Colombia', 'Ciudad': 'Manizales'}
Las keys en los diccionarios deben ir entre comillas ('Nombre', 'Edad', 'Pais', 'Ciudad'), y los valores pueden ser cualquier tipo de dato.
Para recorrer un diccionario es necesario usar dos variables indice asi:
for key, value in diccionario_persona.items():
print(f'{key}: {value}')
Nombre: Juan Perez
Edad: 25
Pais: Colombia
Ciudad: Manizales
key y value son las variables indice y el método items() es necesario para poder usar dichas variables.
También es posible acceder a un datos empleando corchetes [ ]:
print("Nombre: ", diccionario_persona['Nombre'])
print("Edad: ", diccionario_persona['Edad'])
print("Pais: ", diccionario_persona['Pais'])
print("Ciudad: ", diccionario_persona['Ciudad'])
Nombre: Juan Perez
Edad: 25
Pais: Colombia
Ciudad: Manizales
En este caso no ingresamos un indice de tipo int, sino la llave creada.
Modificando valores:
print("Nombre inicial: ", diccionario_persona['Nombre'])
diccionario_persona['Nombre'] = "Sara Perez"
print("Nombre final: ", diccionario_persona['Nombre'])
Nombre inicial: Juan Perez
Nombre final: Sara Perez