📙 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:

image.png

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:

image.png

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