Fundamentos de Programación y Python

1

¿Por qué aprender Python?

2

Introducción a Python

3

Conceptos Básicos de Programación

4

Práctica: Te doy la bienvenida a los ejercicios interactivos

5

Manipulación de Cadenas de Texto en Python

6

Enteros, Flotantes y Booleanos

7

Todo lo que Debes Saber sobre print en Python

8

Operaciones Matemáticas en Python

9

Operaciones de Entrada/Salida en Consola

Colección y Procesamiento de Datos en Python

10

Listas

11

Método slice

12

Listas de más dimensiones y Tuplas

13

Aplicación de Matrices

14

Diccionarios

15

Comprehension Lists en Python (CLASE NUEVA)

Control de Flujo en Python

16

Estructuras condicionales

17

Bucles y Control de Iteraciones

18

Generadores e Iteradores

Funciones y Manejo de Excepciones en Python

19

Uso de Funciones en Python

20

Funciones Lambda y Programación Funcional en Python

21

¿Cómo realizar una función recursiva en Python?

22

Manejo de Excepciones y Uso de Pass (CLASE NUEVA)

Programación Orientada a Objetos en Python

23

Fundamentos de Programación Orientada a Objetos en Python

24

Ejercicio Biblioteca con POO

25

Herencia en POO con Python

26

Objetos heredados

27

Los 4 pilares de la programacion orientada a objetos

28

Uso de super() en Python (CLASE NUEVA)

29

Superando los Fundamentos de Programación Orientada a Objetos en Python

Lectura y escritura de archivos

30

Manejo de Archivos .TXT (CLASE NUEVA)

31

Manejo de Archivos CSV (CLASE NUEVA)

32

Manejo de Archivos JSON (CLASE NUEVA)

Biblioteca estándar de Python

33

Biblioteca estándar en Python (CLASE NUEVA)

34

Librería Os, Math y Random (CLASE NUEVA)

35

Librería Statistics y Análisis Estadístico (CLASE NUEVA)

36

Proyecto final: Guerra naval

Conceptos avanzados de Python

37

Recapitulación de lo aprendido hasta ahora

38

Escribir código Pythonico y profesional

39

Comentarios y Docstrings en Python

40

Scope y closures: variables locales y globales

41

Anotaciones de tipo

42

Validación de tipos en métodos

43

Librería Collections y Enumeraciones

Decoradores

44

Decoradores en Python

45

Decoradores anidados y con parámetros

46

Uso de Decoradores en clases y métodos

Métodos y estructura de clases en Python

47

Métodos mágicos

48

Sobrecarga de operadores

49

Implementación de `if __name__ == "__main__":`

50

Metaprogramación en Python

51

Uso de *args y **kwargs

52

Métodos privados y protegidos

53

Gestión avanzada de propiedades

54

Métodos estáticos y de clase avanzados

Programación concurrente y asíncrona

55

Introducción a la concurrencia y paralelismo

56

Threading y multiprocessing en Python

57

Asincronismo con asyncio

58

Asincronismo y concurrencia

Creación de módulos y paquetes

59

Creación de módulos en Python

60

Gestión de paquetes

61

Publicación de paquetes en PyPI

Proyecto final

62

Implementación de un sistema completo

63

Implementación de un Sistema Completo

No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

No se trata de lo que quieres comprar, sino de quién quieres ser. Invierte en tu educación con el precio especial

Antes: $249

Currency
$209

Paga en 4 cuotas sin intereses

Paga en 4 cuotas sin intereses
Suscríbete

Termina en:

12 Días
15 Hrs
42 Min
24 Seg
Curso de Python

Curso de Python

Carli Code

Carli Code

Listas

10/63
Recursos

Listas en Python nos facilita la tarea de permitir la manipulación y almacenamiento de datos diversos de manera estructurada y eficiente.

¿Cómo crear una lista en Python?

Para iniciar, se crea una variable llamada todo utilizando corchetes para indicar que se trata de una lista. Dentro de los corchetes, se añaden los elementos separados por comas, por ejemplo:

todo = ["Dirigirnos al hotel", "Almorzar", "Visitar un museo", "Volver al hotel"]

¿Qué tipos de datos se pueden almacenar en una lista?

Las listas en Python pueden almacenar múltiples tipos de datos, incluyendo cadenas, números enteros, números flotantes y valores booleanos. También pueden contener otras listas. Ejemplo:

mix = ["string", 1, 2.5, True, [3, 4]]
print(mix)

¿Cómo se determina la longitud de una lista?

Para saber cuántos elementos hay en una lista, se usa la función len:

print(len(mix))

¿Cómo se accede a elementos específicos de una lista?

Se puede acceder a los elementos de una lista utilizando índices, donde el índice comienza en 0:

print(mix[0])  # Primer elemento
print(mix[-1])  # Último elemento

¿Cómo se realizan operaciones de slicing en listas?

El slicing permite obtener sublistas a partir de una lista existente, especificando un rango de índices:

print(mix[1:3])  # Desde el índice 1 hasta el 2 (el 3 no se incluye)
print(mix[:2])  # Desde el inicio hasta el índice 1
print(mix[2:])  # Desde el índice 2 hasta el final

¿Qué métodos de manipulación de listas existen?

  • Añadir elementos al final: append()

    mix.append(False)
    print(mix)
    
  • Insertar elementos en una posición específica: insert()

    mix.insert(1, ["A", "B"])
    print(mix)
    
  • Encontrar la primera aparición de un elemento: index()

    print(mix.index(["A", "B"]))
    
  • Encontrar el mayor y menor elemento: max() y min()

    numbers = [1, 2, 3.5, 90, 100]
    print(max(numbers))
    print(min(numbers))
    

¿Cómo se eliminan elementos de una lista?

  • Eliminar por índice: del

    del numbers[-1]
    print(numbers)
    
  • Eliminar una porción de la lista:

    del numbers[0:2]
    print(numbers)
    
  • Eliminar toda la lista:

    del numbers
    

Aportes 41

Preguntas 5

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

# Conceptos Básicos sobre Listas Una lista en Python es una colección ordenada de elementos que puede contener elementos de diferentes tipos (enteros, flotantes, cadenas, etc.). Las listas son mutables, lo que significa que sus elementos se pueden cambiar después de que se ha creado la lista. ```js # Creación de listas lista_vacia = [] lista_numeros = [1, 2, 3, 4, 5] lista_mixta = [1, "dos", 3.0, True] print("Lista vacía:", lista_vacia) print("Lista de números:", lista_numeros) print("Lista mixta:", lista_mixta) # Acceder a elementos print("\nAcceso a elementos") print("Primer elemento:", lista_numeros[0]) print("Último elemento:", lista_numeros[-1]) # Modificar elementos print("\nModificar elementos") lista_numeros[0] = 10 print("Lista de números modificada:", lista_numeros) # Agregar y eliminar elementos print("\nAgregar y eliminar elementos") lista_numeros.append(6) print("Lista después de append:", lista_numeros) lista_numeros.insert(2, 99) print("Lista después de insert:", lista_numeros) lista_numeros.remove(99) print("Lista después de remove:", lista_numeros) ultimo = lista_numeros.pop() print("Elemento eliminado con pop:", ultimo) print("Lista después de pop:", lista_numeros) elemento = lista_numeros.pop(1) print("Elemento eliminado en la posición 1:", elemento) print("Lista después de eliminar en la posición 1:", lista_numeros) # Operaciones básicas print("\nOperaciones básicas") lista_concatenada = lista_numeros + lista_mixta print("Lista concatenada:", lista_concatenada) lista_repetida = lista_numeros * 2 print("Lista repetida:", lista_repetida) print("¿Está 3 en la lista?", 3 in lista_numeros) print("Longitud de la lista:", len(lista_numeros)) # Iteración sobre los elementos de una lista print("\nIteración sobre elementos de la lista") for elemento in lista_numeros: print(elemento) # Salida final print("\nGracias por utilizar el programa de listas. ¡Hasta la próxima!") ```# Creación de listas lista\_vacia = \[] lista\_numeros = \[1, 2, 3, 4, 5] lista\_mixta = \[1, "dos", 3.0, True] print("Lista vacía:", lista\_vacia) print("Lista de números:", lista\_numeros) print("Lista mixta:", lista\_mixta) \# Acceder a elementos print("\nAcceso a elementos") print("Primer elemento:", lista\_numeros\[0]) print("Último elemento:", lista\_numeros\[-1]) \# Modificar elementos print("\nModificar elementos") lista\_numeros\[0] = 10 print("Lista de números modificada:", lista\_numeros) \# Agregar y eliminar elementos print("\nAgregar y eliminar elementos") lista\_numeros.append(6) print("Lista después de append:", lista\_numeros) lista\_numeros.insert(2, 99) print("Lista después de insert:", lista\_numeros) lista\_numeros.remove(99) print("Lista después de remove:", lista\_numeros) ultimo = lista\_numeros.pop() print("Elemento eliminado con pop:", ultimo) print("Lista después de pop:", lista\_numeros) elemento = lista\_numeros.pop(1) print("Elemento eliminado en la posición 1:", elemento) print("Lista después de eliminar en la posición 1:", lista\_numeros) \# Operaciones básicas print("\nOperaciones básicas") lista\_concatenada = lista\_numeros + lista\_mixta print("Lista concatenada:", lista\_concatenada) lista\_repetida = lista\_numeros \* 2 print("Lista repetida:", lista\_repetida) print("¿Está 3 en la lista?", 3 in lista\_numeros) print("Longitud de la lista:", len(lista\_numeros)) \# Iteración sobre los elementos de una lista print("\nIteración sobre elementos de la lista") for elemento in lista\_numeros: print(elemento) \# Salida final print("\nGracias por utilizar el programa de listas. ¡Hasta la próxima!")
Para optimizar el uso de la memoria los lenguajes fuertemente tipados hacen uso de arrays, que son como listas pero no son dinamicas, lo que quiere decir que debe almacenar solo datos del mismo tipo y asi asegurar el tamaño de la lista. Existen otros tipos de Arrays que son las Linked Array, con las que podemos almacenar varios tipos de datos pero esta información no está almacenada consecutivamente en la memoria, Y es este tipo de estructura de datos que usa python para hacer su magia con las Lists, que son dinámicas.
![](https://static.platzi.com/media/user_upload/Python%20La%20Clase%20List-4d9a98a9-e4b6-42fc-a347-18fe57dd0fe9.jpg)
# Slicing en Python La sintaxis general para el slicing es `list[start:stop:step]`. Si `step` no se especifica, por defecto es 1. * `start`: El índice donde comienza el slicing (incluido). * `stop`: El índice donde se detiene el slicing (excluido). * `step`: El intervalo entre los índices tomados (opcional). Siendo así que stop es exclusivo, por tanto, excluye al dato de referencia. a diferencia de start que es inclusivo
### COMPARTO DOS EJERCICIOS QUE PODRIAMOS RESOLVER PARA PRACTICAR LO VISTO EN CLASE Ejercicio 1: Lista de Compras Imagina que estás preparando una lista de compras para el supermercado. Crea una lista vacía llamada `lista_compras` e implementa las siguientes acciones: * Añade los artículos "manzanas", "pan" y "leche" a la lista. * Te das cuenta de que necesitas añadir "huevos" después de "manzanas". Inserta este artículo en la posición correcta. * Un artículo no está disponible. Elimina "pan" de la lista. * Finalmente, muestra la lista completa de compras. ### Ejercicio 2: Filtrando Tareas Pendientes Tienes una lista de tareas pendientes. Crea una lista llamada `tareas` con las siguientes tareas: "limpiar", "estudiar", "cocinar", "pasear al perro", y "leer". * Realiza las siguientes acciones: * Muestra solo las tareas que contienen la letra "r". * Ordena la lista de tareas alfabéticamente. * Agrega "hacer ejercicio" al final de la lista.
Soy nuevo en este tema de la programación, soy abogado y quiero aprender para luego hacer programas de automatización de tareas o revisión y automatización de contratos, pero leyendo los comentarios de los "estudiantes" me doy cuenta que cada uno puede ser fácilmente un profesor, y por más que intento, es demasiada información en muy poco tiempo, se siente un poco de frustración al respecto
Slicing en listas ![](https://static.platzi.com/media/user_upload/image-b05885d5-f73f-428d-b45c-b298d54780c2.jpg)
Por qué el slicing print(mix\[0:2]) muestra como resultado desde la posicion 0 hasta la posicion 1 y no hasta la posicion 2 esa es una interrogante que agradecería que alguien pueda explicar
## Conceptos Básicos sobre Listas Una lista en Python es una colección ordenada de elementos que puede contener elementos de diferentes tipos (enteros, flotantes, cadenas, etc.). Las listas son mutables, lo que significa que sus elementos se pueden cambiar después de que se ha creado la lista. ```js # Creación de listas lista_vacia = [] lista_numeros = [1, 2, 3, 4, 5] lista_mixta = [1, "dos", 3.0, True] print("Lista vacía:", lista_vacia) print("Lista de números:", lista_numeros) print("Lista mixta:", lista_mixta) # Acceder a elementos print("\nAcceso a elementos") print("Primer elemento:", lista_numeros[0]) print("Último elemento:", lista_numeros[-1]) # Modificar elementos print("\nModificar elementos") lista_numeros[0] = 10 print("Lista de números modificada:", lista_numeros) # Agregar y eliminar elementos print("\nAgregar y eliminar elementos") lista_numeros.append(6) print("Lista después de append:", lista_numeros) lista_numeros.insert(2, 99) print("Lista después de insert:", lista_numeros) lista_numeros.remove(99) print("Lista después de remove:", lista_numeros) ultimo = lista_numeros.pop() print("Elemento eliminado con pop:", ultimo) print("Lista después de pop:", lista_numeros) elemento = lista_numeros.pop(1) print("Elemento eliminado en la posición 1:", elemento) print("Lista después de eliminar en la posición 1:", lista_numeros) # Operaciones básicas print("\nOperaciones básicas") lista_concatenada = lista_numeros + lista_mixta print("Lista concatenada:", lista_concatenada) lista_repetida = lista_numeros * 2 print("Lista repetida:", lista_repetida) print("¿Está 3 en la lista?", 3 in lista_numeros) print("Longitud de la lista:", len(lista_numeros)) # Iteración sobre los elementos de una lista print("\nIteración sobre elementos de la lista") for elemento in lista_numeros: print(elemento) # Salida final print("\nGracias por utilizar el programa de listas. ¡Hasta la próxima!") ```
Sí, puedes imprimir los valores de una lista en reversa utilizando el método `reverse()` o el slicing. Aquí te muestro ambas opciones: 1. Usando `reverse()`: ```python lista = [1, 2, 3, 4, 5] lista.reverse() print(lista) ``` 2. Usando slicing: ```python lista = [1, 2, 3, 4, 5] print(lista[::-1]) ``` Ambas opciones te darán como resultado `[5, 4, 3, 2, 1]`.
Chicos, alguien me ayuda con esta pregunta, por favor: ¿Por qué el método max o min no se escribió como el método append? Por ejemplo number.max()
![](https://static.platzi.com/media/user_upload/image-b887f931-48f1-4436-9778-98f33b3baf0e.jpg)
```python #Haremos un ejercio de listas to_do = ["Agradecer un nuevo dia", "Meditar", "Hacer ejercicio en la mañana", "Bañarse","Desayuno saludable", "Leer 1 hr", "Partir al trabajo"] print(to_do) # al imprimirlas las pone todas seguidas pero separadas por espacio y entre comillas, osea no da enter #Mezcla de elemntos y aplicacion de indexaciones #Indexación: En programación, la indexación se refiere a la manera en que se accede a los elementos dentro de estructuras de datos como arreglos, listas o diccionarios, usando un índice numbers = [1,2,3,4,"cinco"] print(numbers) print(type(numbers)) # podemos observar que lo que nos dice es que es del tipo "list" y dentro puede haber de cualquier otro tipo de dato mix = ["ich", 2, 3.14,True, [7,8,9]] print(mix) print(len(mix)) # para recorda "len" sirve para ver la longitud de un dato o conjunto de datos en este caso hay 5 datos en mix print("Primer elemento es: ", mix[0]) # lo que significa es que queremos ver el elemnto de la posicion 0 (osea la primera) de la variable de lista "mix" print("Segundo elemento es: ", mix[1]) print("Ultimo elemento es: ", mix[-1]) # Recordemos que puede utilizarse el mas uno oara alcanzar el ultimo elemnto cadena = "Supercalifragilisticoespiralidoso" print("Primer elemento es: ", cadena[0]) print("Segundo elemento es: ", cadena[5]) print("Ultimo elemento es: ", cadena[-1]) # podemos ver que tambien podemos encotnrar lementos de una cadena print(mix[0:2]) #Podemos usar los : para decir "hasta" el ejemplo dice "de 0 hasta 2" print(mix[:2]) #Podemos ver que si no especifico empezara desde el principio print(mix[2:]) #Podemos ver que los mismo sucede para el final si no lo especifico print(mix[:]) #Podemos si no pongo nada va de principio a fin mix.append(False) # Aqui estamos usando un "METODO" particular de los "OBJETOS" LIST que sirve para egregar el elemnto dentro del () print(mix) # vemos que se agrego "False" mix.append(["a","b"]) print(mix) mix.insert(1,["a","b"]) #Este es otro "METODO" pero este sirve para insertar el elemnto pero en la posicion que quiero no solo al final print(mix) #Aqui vemos que la lista ["a","b"] se coloco en la segunda posicion, recuerda primero va el 0, 1, 2,... print(mix.index(["a","b"])) #"INDEX" es un método que se utiliza para encontrar el índice de un elemento específico en la lista listanums = [34, 56, 78, 23, 12, 90, 44, 67, 89, 21, 11, 35, 50, 72, 60] print("De la lista de estos numeros: ",listanums) print("El mayor es: ", max(listanums)) # max y min son funciones incorporadas y justo sirven paa buscar el mayp ry menor de una lista print("El menor es: ", min(listanums)) # tambien podria usarse en cadenas para obtener el carácter con el valor máximo o mínimo basado en el orden ASCII. del listanums[-1] #"DEL" pero en minuscula es una palabra reservada que se utiliza para eliminar, si especifico en los corchetes cuafrados solo eliminara lo que yo seleccione print(listanums) del listanums[:2] #i print(listanums) del listanums #print(listanums) # esta comentad por que manda error al ejecutar ya que se elimino la variable "listanums" ```del listanums\[:2] #iprint(listanums)
Por aqui jugando un poco con los elementos de la lista y el ciclo for para imprimir la posición del elemento y el elemento de cada posición: ```python mix = ['uno', 2, 3.14, True, [1,2,3]] for i in range(len(mix)): print(f"{i} Elemento: {mix[i]}") ```
**Propiedades de las listas:** 1. **Son ordenadas.** ```python colores = ['red', 'blue', 'green', 'cian', 'yellow', 'purple'] print(colores) # Se imprimen en el mismo orden: # ['red', 'blue', 'green', 'cian', 'yellow', 'purple'] ``` 1. **Guardan diferentes tipos de datos y también pueden ser repetidos.** ```python perfil = ['Neicer', 'Calle Shangay', 20, False, 'Autodidacta', 8.0, 8.0] ``` 1. **Son indexables.** ```python perfil = ['Neicer', 'Calle Shangay', 20, False, 'Autodidacta', 8.0,] print(perfil[3]) # False ``` 1. **Son anidables (Una lista dentro de otra lista).** ```python perfil = [ ['Neicer', 'Ibrahin', 'Vásquez', 'Bermúdez'], 'Calle Shangay', 20, False, 'Autodidacta', 8.08 ] ``` 1. **Son mutables.** ```python colores = ['red', 'blue', 'green', 'cian', 'yellow', 'purple'] print(colores) change_color = 'azul' colores[1] = change_color print(colores) ``` 1. **Son dinámicas.** ```python colores = ['red', 'blue', 'green', 'cian', 'yellow', 'purple'] print(colores) colores.append('pink') print(colores) ``` 1. **Son iterables.** ```python colores = ['red', 'blue', 'green', 'cian', 'yellow', 'purple'] for i in colores: print(i, end=" ") # Imprime: red blue green cian yellow purple ``` 1. **Son desempaquetables.** ```python coordenadas = [10, 20, 30] x, y, z = coordenadas print(x) # Salida: 10 print(y) # Salida: 20 print(z) # Salida: 30 ```
* `append` siempre agrega el nuevo elemento al final de la lista. * `mi_lista = [1, 2, 3] mi_lista.append(4) print(mi_lista) # Salida: [1, 2, 3, 4]` * `insert` permite especificar en qué posición exacta insertar el nuevo elemento. * `mi_lista = [1, 2, 3] mi_lista.insert(1, 4) print(mi_lista) # Salida: [1, 4, 2, 3]` *
![](https://static.platzi.com/media/user_upload/image-d9dc3a81-c160-4cdd-a5b6-bdd7a53206ea.jpg) <https://github.com/iecgerman/10002-python/blob/master/clase10.py>
<https://chatgpt.com/share/6736ac8f-53ec-800f-83a0-8c6e802d6a00> Les dejo informacion, existen otros metodos para eliminar elementos de una lista. como lo es pop y remove, pero estos no permiten el slicing como si lo hace del
Con la variable "**numbers**" podemos utilizar el metodo sorted() para ordenarlo. ```js numbers = [1, 2, 3, 100, 76, 56, 25] print(f"Numeros: {numbers}") print(f"Ordenados: {sorted(numbers)}") print(f"Maximo: {max(numbers)}") print(f"Minimo: {min(numbers)}") ```numbers = \[1, 2, 3, 100, 76, 56, 25]print(f"Numeros: {numbers}")print(f"Ordenados: {sorted(numbers)}")print(f"Maximo: {max(numbers)}")print(f"Minimo: {min(numbers)}")
Muy buena clase, Gracias
Excelente clase
```js mix = ["string", 1, 2.5, True, [3, 4]] print(mix[1:3]) # Desde el índice 1 hasta el 2 (el 3 no se incluye) print(mix[:2]) # Desde el inicio hasta el índice 1 print(mix[2:]) # Desde el índice 2 hasta el final # Añade False al final de la lista mix.append(False) # Añade ["A", "B"] a la posicion con indice 1 en la lista mix.insert(1, ["A", "B"]) # Encuentra en indice de la primera aparición de ["A", "B"] mix.index(["A", "B"]) numbers = [1, 2, 3.5, 90, 100] # Encuentra el mayor elemento en la lista print(max(numbers)) # Encuentra el menor elemento de la lista print(min(numbers)) # Elimina el ultimo elemento de la lista del numbers[-1] # Elimina una porcion de la lista desde el principio hasta y tomando el segundo elemento del numbers[0:2] # Elimina toda la lista del numbers ```mix = \["string", 1, 2.5, True, \[3, 4]] print(mix\[1:3]) # Desde el índice 1 hasta el 2 (el 3 no se incluye) print(mix\[:2]) # Desde el inicio hasta el índice 1 print(mix\[2:]) # Desde el índice 2 hasta el final \# Añade False al final de la lista mix.append(False) \# Añade \["A", "B"] a la posicion con indice 1 en la lista mix.insert(1, \["A", "B"]) \# Encuentra en indice de la primera aparición de \["A", "B"] mix.index(\["A", "B"]) numbers = \[1, 2, 3.5, 90, 100] \# Encuentra el mayor elemento en la lista print(max(numbers)) \# Encuentra el menor elemento de la lista print(min(numbers)) \# Elimina el ultimo elemento de la lista del numbers\[-1] \# Elimina una porcion de la lista desde el principio hasta y tomando el segundo elemento del numbers\[0:2] \# Elimina toda la lista del numbers
En mi opinión, al enseñar los métodos de listas y strings en Python, es fundamental que los ejemplos sean lo más cercanos posible a situaciones cotidianas. Esto ayuda a contextualizar cada método, permitiendo que los estudiantes comprendan mejor su aplicación práctica. Por ejemplo, al utilizar el método `.append()` en listas, podríamos ilustrarlo con una situación en la que estamos construyendo una lista de compras y añadimos un nuevo artículo. Para strings, podríamos mostrar cómo el método `.upper()` convierte un mensaje de texto a mayúsculas, algo que podríamos usar si estamos destacando un aviso importante. Además, considero valioso que al final de la lección se propongan ejercicios prácticos. Estos podrían consistir en desafíos donde se apliquen uno o más métodos en conjunto, como ordenar y filtrar una lista de tareas o buscar y reemplazar palabras en un mensaje. Esto no solo refuerza el aprendizaje, sino que también permite que los estudiantes vean cómo estos métodos pueden combinarse para resolver problemas reales.
Cre'ia que string era una palabra reservada🤔
En último elemento en vez de 4 también se puede colocar -1, y el resultado es el mismo.
Asi son los planes con mis amigos, imaginamos las vacaciones, planificamos y al final todo se depura.
Notas: -Los elementos de listas van dentro de \[] -Python tiene el tipo de dato list, que de hecho List es una palabra reservada -Al preguntarle len a la lista te da el número de elementos en la lista -Para una lista: print(nombre\_de\_la\_lista\[0:2]) te da del primer al tercer elemento de la lista pero ojo, que no imprime el elemento en donde marcaste el hasta aquí, en este caso 2 es el tercer elemento pero este ya no se muestra, en cambio muestra el elemento 1 y 2 (0 y 1) -Si se empieza desde el primer elemento se puede empezar vacio (ejemplo de arriba: \[:2] -.append sirve para agregar un elemento a una lista: nombre\_de\_la\_lista.append(False) -append significa añadir xddddddddddd -.insert hace lo mismo que append pero te deja elegir en que posición meter los elementos: nombre\_de\_la\_lista.insert(1,\["a","b"]) -print(nombre\_de\_la\_lista.index(\["a","b"])) este te dice en que posición esta el elemento que escribiste, si se repite te dará la posición de la primera vez que apareció en la lista
hola me esta dando index error fuera de rango no se por que cuando ejecuto la orden del print segundo elemento
En esta clase se nos muestra la forma en que se agregan elementos a las listas , se eliminan , así como la manera de identificar los valores mas máximos y minimos de una lista
## ¿Cómo crear una lista en Python? Se crean para organizar mejor los datos y se separan con comas. Métodos Para agregar: .append Para insertar en una posición específica: insert(1) Para consultar en qué parte está la información: index() Consultar qué número es mayor o menor: numbers = \[1,2, 100, 90.45, 3,4, 5] print("Mayor", max(numbers)) print("Menor", min(numbers)) Para eliminar por posiciones **del** numbers\[-1] Ten cuidado con el DEL porque puede eliminar la lista entera y aparece automáticamente un error.
### Diferencias entre `string` y `list`: 1. **Tipos de datos**: * Una `string` es una secuencia inmutable de caracteres, y todos los elementos son caracteres. * Una `list` es una secuencia mutable que puede contener cualquier tipo de dato (números, strings, objetos, etc.). 2. **Mutabilidad**: * Las `strings` son inmutables, lo que significa que no se pueden modificar después de su creación; cualquier cambio genera una nueva `string`. * Las `lists` son mutables, por lo que puedes modificar sus elementos directamente sin crear una nueva lista. 3. **Operaciones**: * En una `list`, puedes añadir, eliminar, o modificar elementos usando métodos como `append()`, `remove()`, o asignando valores directamente. * En una `string`, estas operaciones no son posibles sin crear una nueva `string`. 4. **Indexación y slicing**: * Ambas soportan indexación (`string[0]`, `list[0]`) y slicing (`string[1:3]`, `list[1:3]`), pero lo que devuelven es diferente; una `string` devuelve otra `string`, mientras que una `list` devuelve una sublista. 5. **Funciones y métodos disponibles**: * Los métodos disponibles en una `string` (como `upper()`, `split()`) son diferentes de los métodos de una `list` (como `append()`, `pop()`, `sort()`). ### Similitudes: * Ambas son secuencias que soportan iteración (`for char in string`, `for item in list`). * Puedes acceder a sus elementos mediante índices.
Para eliminar elementos de las listas, además del método del, tenemos otras opciones: ```python # remove: Indicar el valor a eliminar numbers.remove(1.5) # Eliminar último elemento de la lista numbers.pop() ```numbers.remove(1.5)
comente unos comandos ```js print(" \n \n") numbers = [1,2,90.45,15,3,4,80] print("Mayor",max(numbers))#saca e numero m[as grande] print("Menor",min(numbers)) # saca el numero m[as peque;o] del numbers [-1] #elimina el ultimo registro del numbers [:2] # elimina posici[on 0 y 1] print(numbers) ```
Se puede obtener el máximo y mínimo de un lista de palabras, booleanos, incluso una lista de listas. En caso de que los valores sean de diferente tipo, se obtiene un TypeError. ```js palabras = ["tres", "uno", "dos", "tres", "cuatro", "cinco", "a"] print(max(palabras)) # Se obtiene la palabra que está al final del abecedario mix2 = ["uno", 2, 3.14, True, [1,2,3]] # TypeError # print(max(mix2)) # TypeError # print(min(mix2)) # TypeError mix3 = [True, False] print(max(mix3)) # True print(min(mix3)) # False mix4 = [[1,2,3,4,5], [1,2]] # Se obtiene de acuerdo a la longitud de la lista print(max(mix4)) print(min(mix4)) ```
En Python, una \*\*lista\*\* es una colección ordenada y mutable (modificable) de elementos. Las listas son uno de los tipos de datos más utilizados y son extremadamente versátiles, permitiendo almacenar elementos de diferentes tipos, incluyendo otras listas. \### Creación de Listas Puedes crear una lista usando corchetes `\[]` y separando los elementos con comas. \*\*Ejemplo:\*\* ```python mi\_lista = \[1, 2, 3, 4, 5] ``` También es posible crear una lista vacía: ```python mi\_lista\_vacia = \[] ``` \### Acceso a Elementos Puedes acceder a los elementos de una lista usando índices, que comienzan en `0` para el primer elemento. \*\*Ejemplo:\*\* ```python mi\_lista = \[10, 20, 30, 40, 50] print(mi\_lista\[0]) # Salida: 10 print(mi\_lista\[2]) # Salida: 30 ``` También puedes usar índices negativos para acceder a los elementos desde el final de la lista. \*\*Ejemplo:\*\* ```python print(mi\_lista\[-1]) # Salida: 50 (último elemento) ``` \### Modificación de Elementos Las listas en Python son mutables, lo que significa que puedes cambiar sus elementos. \*\*Ejemplo:\*\* ```python mi\_lista\[1] = 25 print(mi\_lista) # Salida: \[10, 25, 30, 40, 50] ``` \### Operaciones Comunes 1\. \*\*Agregar elementos:\*\* \- `append()`: Agrega un elemento al final de la lista. \- `insert()`: Inserta un elemento en una posición específica. \- `extend()`: Agrega múltiples elementos de otra lista o iterable. \*\*Ejemplo:\*\* ```python mi\_lista.append(60) mi\_lista.insert(2, 35) mi\_lista.extend(\[70, 80]) print(mi\_lista) # Salida: \[10, 25, 35, 30, 40, 50, 60, 70, 80] ``` 2\. \*\*Eliminar elementos:\*\* \- `remove()`: Elimina la primera aparición de un elemento específico. \- `pop()`: Elimina y devuelve el elemento en la posición especificada (por defecto, el último elemento). \- `clear()`: Elimina todos los elementos de la lista. \*\*Ejemplo:\*\* ```python mi\_lista.remove(25) print(mi\_lista) # Salida: \[10, 35, 30, 40, 50, 60, 70, 80] elemento = mi\_lista.pop(3) print(elemento) # Salida: 40 print(mi\_lista) # Salida: \[10, 35, 30, 50, 60, 70, 80] mi\_lista.clear() print(mi\_lista) # Salida: \[] ``` 3\. \*\*Rebanado (Slicing):\*\* \- Puedes obtener sublistas usando el operador de rebanado (`:`). \*\*Ejemplo:\*\* ```python mi\_lista = \[10, 20, 30, 40, 50] sublista = mi\_lista\[1:4] # Sublista desde el índice 1 hasta el 3 (4 no incluido) print(sublista) # Salida: \[20, 30, 40] ``` 4\. \*\*Longitud de una lista:\*\* \- Usa `len()` para obtener el número de elementos en la lista. \*\*Ejemplo:\*\* ```python print(len(mi\_lista)) # Salida: 5 ``` 5\. \*\*Verificar existencia de un elemento:\*\* \- Usa el operador `in`. \*\*Ejemplo:\*\* ```python if 30 in mi\_lista: print("El 30 está en la lista") ``` 6\. \*\*Ordenar una lista:\*\* \- `sort()`: Ordena la lista en su lugar. \- `sorted()`: Devuelve una nueva lista ordenada. \*\*Ejemplo:\*\* ```python mi\_lista.sort() print(mi\_lista) # Salida: \[10, 20, 30, 40, 50] nueva\_lista = sorted(\[3, 1, 4, 2]) print(nueva\_lista) # Salida: \[1, 2, 3, 4] ``` \### Iteración sobre una Lista Puedes iterar sobre los elementos de una lista utilizando un bucle `for`. \*\*Ejemplo:\*\* ```python for elemento in mi\_lista: print(elemento) ``` \### Listas Anidadas Las listas pueden contener otras listas, lo que permite la creación de estructuras de datos más complejas. \*\*Ejemplo:\*\* ```python lista\_anidada = \[\[1, 2, 3], \[4, 5, 6], \[7, 8, 9]] print(lista\_anidada\[1]\[2]) # Salida: 6 (elemento en la posición 2 de la sublista 1) ``` \### Conclusión Las listas son extremadamente útiles en Python debido a su flexibilidad y la gran cantidad de operaciones que puedes realizar con ellas. Son una herramienta esencial para manejar colecciones de datos en programas Python.
Este es mi aporte referente a la metodología de CRUD en las listas de Python# CRUD - Create - Read - Update - Delete fruits = \['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana']colors = \['blue', 'yellow', 'white', 'black', 'red'] \# ---- Create ---- fruits\_two = \['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana'] \# ---- Read ---- print('---- Read ----') print(f'Esta es una lista ordenada {sorted(fruits\_two)} ') # Ordenar una lista fruits\_two.sort() # Ordenar una listaprint(fruits\_two) print(fruits\_two\[0]) y = fruits\_two.count('apple')print(y) x = fruits\_two.index('banana')print(x) \# ---- Update ---- print('---- Update ----') fruits\_two\[4] = 'pear' # Actualizar un valor en específicoprint(fruits\_two) fruits\_two.append('kiwi') # append()    element Añade un único elemento al final de la listaprint(fruits\_two) fruits\_two.extend(\['cherry', 'lemon']) # extend()   \[elements]  Añade múltiples elementos al final de la listaprint(fruits\_two) fruits\_two.insert(-1, 'melon')print(fruits\_two) print(f'Esta es la ubicación de Melon: {fruits\_two.index('melon')}') \# ---- Delete ---- print('---- Delete ----') fruits\_two.remove('banana') # Remueve un elemento específico de la lista print(fruits\_two) fruits\_two.pop() # Elimina el último elemento de la listaprint(fruits\_two) ```python # CRUD - Create - Read - Update - Delete fruits = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana'] colors = ['blue', 'yellow', 'white', 'black', 'red'] # ---- Create ---- fruits_two = ['orange', 'apple', 'pear', 'banana', 'kiwi', 'apple', 'banana'] # ---- Read ---- print('---- Read ----') print(f'Esta es una lista ordenada {sorted(fruits_two)} ') # Ordenar una lista fruits_two.sort() # Ordenar una lista print(fruits_two) print(fruits_two[0]) y = fruits_two.count('apple') print(y) x = fruits_two.index('banana') print(x) # ---- Update ---- print('---- Update ----') fruits_two[4] = 'pear' # Actualizar un valor en específico print(fruits_two) fruits_two.append('kiwi') # append() element Añade un único elemento al final de la lista print(fruits_two) fruits_two.extend(['cherry', 'lemon']) # extend() [elements] Añade múltiples elementos al final de la lista print(fruits_two) fruits_two.insert(-1, 'melon') print(fruits_two) print(f'Esta es la ubicación de Melon: {fruits_two.index('melon')}') # ---- Delete ---- print('---- Delete ----') fruits_two.remove('banana') # Remueve un elemento específico de la lista print(fruits_two) fruits_two.pop() # Elimina el último elemento de la lista print(fruits_two) ```
hola, los nombres de las listas y variables se deben de escribir en ingles o es una recomendacion, ya que veo que muchas cosas son en este idioma
hey fellas, para quienes quieran un formateador facil y rapido para python en vscode, instalen el plugin autopep8
Estan geniales las listas!
Para eliminar elementos de las listas, además del método del, tenemos otras opciones:```js # Eliminar un elemento específico numbers.remove(1.5) # Eliminar último elemento de la lista numbers.pop() ```