Python - Listas
#22 Ejemplos de Listas en Python
#1. Crear una lista de números pares del 0 al 10:
pares = [num for num in range(11) if num % 2 == 0]
print(pares)
#2. Crear una lista de números impares del 1 al 9:
impares = [num for num in range(1, 10, 2)]
print(impares)
#3. Crear una lista de los cuadrados de los números del 1 al 10:
cuadrados = [num**2 for num in range(1, 11)]
print(cuadrados)
#4. Crear una lista de los números del 1 al 10 que sean divisibles entre 3:
divisibles = [num for num in range(1, 11) if num % 3 == 0]
print(divisibles)
#5. Crear una lista de los números del 1 al 10 que no sean divisibles entre 3:
no_divisibles = [num for num in range(1, 11) if num % 3 != 0]
print(no_divisibles)
#6. Crear una lista de los números del 1 al 10 que sean mayores que 5:
mayores = [num for num in range(1, 11) if num > 5]
print(mayores)
#7. Crear una lista de los números del 1 al 10 que sean menores o iguales que 5:
menores = [num for num in range(1, 11) if num <= 5]
print(menores)
#8. Crear una lista de los números del 1 al 10 que sean múltiplos de 4:
multiplos = [num for num in range(1, 11) if num % 4 == 0]
print(multiplos)
#9. Crear una lista de los números del 1 al 10 que no sean múltiplos de 4:
no_multiplos = [num for num in range(1, 11) if num % 4 != 0]
print(no_multiplos)
#10. Crear una lista de los números del 1 al 10 que sean mayores que 3 y menores que 8:
rango = [num for num in range(1, 11) if num > 3 and num < 8]
print(rango)
#11. Crear una lista de los números del 1 al 10 que no sean mayores que 3 ni menores que 8:
no_rango = [num for num in range(1, 11) if not(num > 3 and num < 8)]
print(no_rango)
#12. Crear una lista de los números del 1 al 10 que sean mayores que 5 o menores que 2:
condicion = [num for num in range(1, 11) if num > 5 or num < 2]
print(condicion)
#13. Crear una lista de los números del 1 al 10 que no sean mayores que 5 ni menores que 2:
no_condicion = [num for num in range(1, 11) if not(num > 5 or num < 2)]
print(no_condicion)
#14. Crear una lista de los números del 1 al 10 que sean mayores que 2 y menores que 9, y que sean pares:
combinacion = [num for num in range(1, 11) if num > 2 and num < 9 and num % 2 == 0]
print(combinacion)
#15. Crear una lista de los números del 1 al 10 que sean mayores que 2 y menores que 9, y que no sean pares:
no_combinacion = [num for num in range(1, 11) if num > 2 and num < 9 and num % 2 != 0]
print(no_combinacion)
#16. Crear una lista de los números del 1 al 10 que sean mayores que 2 y menores que 9, y que sean divisibles entre 3:
combinacion_divisibles = [num for num in range(1, 11) if num > 2 and num < 9 and num % 3 == 0]
print(combinacion_divisibles)
#17. Crear una lista de los números del 1 al 10 que sean mayores que 2 y menores que 9, y que no sean divisibles entre 3:
no_combinacion_divisibles = [num for num in range(1, 11) if num > 2 and num < 9 and num % 3 != 0]
print(no_combinacion_divisibles)
#18. Crear una lista de los números del 1 al 10 que sean mayores que 2 y menores que 9, y que sean impares:
combinacion_impares = [num for num in range(1, 11) if num > 2 and num < 9 and num % 2 != 0]
print(combinacion_impares)
#19. Crear una lista de los números entre 0 y 1 que sean mayores que 0.5
import random
lista=[random.random() for _ in range(10) if random.random() >= 0.5]
print(lista)
#20.  Crear una lista de los números entre 0 y 1 que sean mayores que 0.5
import random
numbers = [random.random() for _ in range(10)]
lista=[x for x in numbers if x >= 0.5]
print(lista)
#21. Crear una lista de coordenadas
lista=[(x, y) for x in range(3) for y in range(3, 5)]
print(lista)
#22. Crear una lista de coordenadas
lista = []
for x in range(3):
    for y in range(3, 5):
        lista.append((x, y))
print(lista)
#21. Imprimiendo Listas de Matrices 1
import random
def imprimir_matrices():
    # Definimos el tamaño de la lista y las matrices
    num_matrices = 5
    matrix_size = (3, 3)
    # Creamos la lista de matrices aleatorias
    matrices = []
    for _ in range(num_matrices):
        matrix = []
        for i in range(matrix_size[0]):
            row = []
            for j in range(matrix_size[1]):
                row.append(random.randint(0, 9))
            matrix.append(row)
        matrices.append(matrix)
    print(matrices)
    for matriz in matrices:
        print('Matriz:')
        for fila in matriz:
            for col in fila:
                print(col, end=' ')
            print()
        print()
imprimir_matrices()
#22. Imprimiendo Listas de Matrices 2  
import random
def imprimir_fila(fila):
    for col in fila:
        print(col, end=' ')
def imprimir_matriz(matriz):
    for fila in matriz:
        imprimir_fila(fila)
        print()
def imprimir_matrices(matrices):
    for matriz in matrices:
        print('Matriz:')
        imprimir_matriz(matriz)
        print()
# Definimos el tamaño de la lista y las matrices
num_matrices = 5
matrix_size = (3, 3)
# Creamos la lista de matrices aleatorias
matrices = []
for _ in range(num_matrices):
    matrix = []
    for i in range(matrix_size[0]):
        row = []
        for j in range(matrix_size[1]):
            row.append(random.randint(0, 9))
        matrix.append(row)
    matrices.append(matrix)
# Imprimimos la lista de matrices
print(matrices)
imprimir_matrices(matrices)