¿Qué es CRUD y cómo se aplica en listas de Python?
La operación CRUD es esencial al trabajar con estructuras de datos como listas en Python. CRUD se refiere a Crear, Leer, Actualizar y Eliminar, cuatro acciones fundamentales que permiten manipular listas de manera eficiente.
¿Cómo iniciamos la creación y lectura de listas en Python?
Crear una lista es tan sencillo como declararla e incluir los elementos que desees. Si ya tienes una lista, puedes leer sus elementos indicando su posición específica. Así podemos empezar:
# Creación de una listanumbers =[1,2,3,4,5]# Lectura de un elemento en la posición 1print(numbers[1])# Output: 2
¿Cómo actualizamos y eliminamos elementos de una lista?
La actualización de un elemento es directa. Escribe el nuevo valor en la posición deseada. Para eliminar, puedes usar métodos como remove() y pop().
# Actualizar el último elemento de la listanumbers[-1]=10# Eliminar un elemento específico (ejemplo: eliminar 'todo 1')new_list =['todo 1','todo 2','todo 3']new_list.remove('todo 1')# Eliminar el último elemento usando pop()new_list.pop()
¿Cómo agregamos elementos a una lista?
Agregar elementos puede hacerse de dos maneras principales: al final o en una posición específica.
Añadir al final: Utiliza el método append() para agregar un elemento al final de la lista.
numbers.append(700)
Insertar en posición específica: Utiliza insert() proporcionando la posición y el elemento.
numbers.insert(0,"hola")
¿Cómo fusionamos listas?
Unir dos listas es posible mediante el operador +, lo cual crea una nueva lista con los elementos de ambas:
Revertir una lista: El método reverse() invierte el orden de los elementos.
numbers.reverse()
Ordenar una lista: Con sort() puedes ordenar en orden ascendente. Sin embargo, si la lista contiene tipos de datos mixtos, el método fallará.
# Ordenar númerosnumbers.sort()# Ordenar cadenas de textostrings =['re','app','et']strings.sort()
Este entendimiento profundo de CRUD en listas no solo mejora tu habilidad para manipular datos, sino que también prepara el camino para explorar nuevas estructuras de datos como las tuplas. ¡Sigue aprendiendo y explorando el fascinante mundo de la programación en Python!
count(): Cuenta el número de veces que aparece un ítem.
index(): Devuelve el índice en el que aparece un ítem (error si no aparece).
insert(): Agrega un ítem a la lista en un índice específico.
pop(): Extrae un ítem de la lista y lo borra.
remove(): Borra el primer ítem de la lista cuyo valor concuerde con el que indicamos.
reverse(): Le da la vuelta a la lista actual.
sort(): Ordena automáticamente los ítems de una lista por su valor de menor a mayor.
Gracias por el resumen!
Muy util! Gracias
Genial!
Muy bueno!
Gracias
Muchas gracias
Muy buena infografía 👍🥇
El método sort() tiene dos parámetros opcionales, una de las cuales permite cambiar el orden que efectúa por defecto, el cual es de forma ascendente. Esto se realiza agregando el párametro reverse = True
list =[1,10,12,9,4,7]list.sort()print(list)list.sort(reverse =True)print(list)
¡Buenisimo campeón! Gracias..
# CRUD cREATE, rEAD, uPDATE & dELETER
# CRUD crear, leer, agredar y eliminas
numbers =[1,2,3,4,5]print([1])numbers [-1]=10 # cambia el ultmo por 10print(numbers)numbers.append(700) # agresa 700 al final de la lista
print(numbers)numbers.insert(0,'HOLA') # Inserta hola al inicio de la lista
print(numbers)numbers.insert(3,'izquiersa') # agrega el str a la izquiersa de la posicon 3print(numbers)# Funcionamos listas []tasks =['uno','dos','tres']new_list = numbers + tasks
print(new_list)index = new_list.index('uno') # Para sabe en que posiscion se encuntra str uno
new_list[index]='cuatro' # actualizar la posicion de la lista
print(new_list)new_list.remove('cuatro') # Remueva el str cuatro
print(new_list)new_list.pop() # Rmueve el ultimo de la lista
print(new_list)new_list.pop(0) # elimina la posicion que le indique de la lista
print(new_list)new_list.reverse() # Invierte la lista alrreves
print(new_list)numbers_a =[1,4,6,3]numbers_a.sort() # Ordena la lista
print(numbers_a)string =['ba','ca','av']string.sort() # Ordena los str
print(string)
Gracias por el aporte
👏🏻🦾
Les comparto la manera de agregar varios elemento a una lista con el método .extend
numbers =[1,2,3,4]# Agregando varios elementos a la lista con el metodo .extendnumbers.extend([5,6])print(numbers)>[1,2,3,4,5,6]
Lo que haces es unir lista a otra.
Genial. muchas gracias
Gracias
Excelente aporte
me gustaría ejemplos mas prácticos :S
Este profe no me gusta
El metodo .sort() No funciona cuando hay una lista de diferentes tipos de elementos.
Métodos de las Listas y ejemplos.
El código:
lst1 =[1,True,'hola mundo',3.1416,1,False] a =[1,2,3,4] b =[5,6,7,8,2] #lst1.append(valor)--Añade valor al final de la lista.lst1.append(2) # [1,True,'hola mundo',3.1416,2]print(lst1) #.clear()-- elimina todos los elementos de lst1.Es equivalente a del lst[:] #lst1.clear() #[]#print(lst1) #.copy()-- devuelve una copia superficial
copia = lst1.copy()print(copia) #.count(valor)-- cuenta el número de veces que el elemento aparece en la lista
# importante saber que True se considera 1,False0print(lst1.count(1)) #3print(lst1.count(0)) #1 #.extend(iter)-- extiende la lista lst1 añadiendo todos los elementos del iterable iter1.a.extend(b)print(a) #.index(elem,[, inicio[, final]])--Devuelve el índice de la posición que ocupa el elemento dentro de la lista
print(a.index(2)) #
print(a.index(2,3)) # indice del elemento 2 contado desde la posicion 3 #.insert(pos, elem)-- inserta elem en la posición anterior definida por el índice pos.a.insert(0,20)print(a) #.pop([pos])-- elimina y devuelve el elemento de la posición definida por pos.El parámetro es opcional y, si se omite, se devuelve y elimina el último elemento de la lista.a.pop(4) a.pop() #.remove(elem)-- elimina la primera ocurrencia de elem en las lista.Si no existe una ocurrencia eleva un ValueError a.remove(2) #.reverse()-- invierte el orden de los elementos de la lista(no genera una lista nueva, sino que lo hace en la misma - reverse in place) a.reverse() #.sort(key=None, reverse=False)-- ordena la lista en el sitio.En el parámetro key se puede añadir una funcion que se utilice para ordenar, yu el parámetro reverse se utiliza para que el orden sea inverso o no.#key es por lo general una función anónima lambda
a.sort()print(a) lst1.sort(key=lambda x:str(x))print(lst1)
Comparto enlace de acceso a mi bloc de notas con todos mis apuntes de este curso, en el futuro añadiré los de los demás cursos de la ruta Análisis de datos con Python lee mi bloc aquí
No podría agradecerte lo suficiente, muy bueno el aporte
existe otra manera de agregar elementos a una lista y es con la siguiente sintaxis :
lista += [element]
¡Esa no me la sabia! :o
Metodos Python
Para eliminar un elemento que se repite varias veces se debe hacer esto.
Qué pasaría si yo quiero buscar un elemento en la lista y lo busco como "todo 2" y el elemento es "tODO doS", hay alguna forma de hacer que las strings que están dentro de una lista pasen a ser todas minúsculas? Como el método lowercase.
Hola compañero. No hay métodos para todo lo que tengamos que proponernos, en especial los métodos para listas python son como entre 10 y 15 no más me parece, para strings hay más.
Para el caso que propones, un metodo para tal, no se sentiría como un metodo de listas si nos ponemos a analizar la situación de que una lista python es algo muy general que puede almacenar varios tipos de datos en una sola, entonces daria errores.
No habra función/método para todo pero si se puede conseguir solución por supuesto obviamente con código, tú mismo tienes la respuesta, por ejemplo iterando entre elementos de la lista y a los strings aplicarle el método, y de ahí conseguor el índice, y ya reemplazar o hacer lo que gustes. Eso lo puedes poner como función y ya es practicamente tu propio método en realidad (función).
Por último, python se complementa de muchas librerias entonces así se extienden funcionalidades para muchos ambitos, entonces no nos sentiremos limitados con que solo existan 15 metodos para listas.
tenía la misma pregunta
Excelente clase, muy clara la explicación de cada uno de los métodos.
Les comparto el código de la clase.
# Métodos de listas
# CRUDCreate,Read,Update&Deletenumbers =[1,2,3,4,5] # Createprint(numbers[1]) # Readnumbers[-1]=10 # Updateprint(numbers)# Update# Agregar elementos al final de la lista
numbers.append(700)print(numbers)# Agregar elementos en una posicion definida de la lista
numbers.insert(0,'hola')print(numbers)numbers.insert(3,'change')print(numbers)# Unir listas
tasks =["to do 1","to do 2","to do 3"]new_list = numbers + tasks
print(new_list)# Consultar la posicion de un valor específico y actualizarlo
index = new_list.index("to do 2")print(index)new_list[index]="to do changed"print(new_list)# Deletenew_list.remove("to do 1")print(new_list)# Eliminar el último elemento de la lista
new_list.pop()print(new_list)# Eliminar una posición específica de la lista
new_list.pop(0)print(new_list)# Voltear todo el array
new_list.reverse()print(new_list)# Ordenarnumbers_a =[1,4,6,3]print(numbers_a)numbers_a.sort()print(numbers_a)strings =["re","ab","ed"]print(strings)strings.sort()print(strings)'''
Cuando se tiene un array con diferentes tipos de datos mezclados
el método sort no es funcional
new_list.sort()print(new_list)'''
Muy bien
Como copiar las extensiones de una forma facil como el profesor. intento con Control + C (No sirve).
Solo usa la flecha hacia arriba de tu teclado
cual seria la diferencia de juntar dos listas creando una nueva variable a comparacion de usar el metodo extend() dentro de una de las listas? se ahorraria espacio en memoria? con cual es mas facil trabajar?
Va a depender de tus necesidades y de lo que estés realizando con esas listas. Sí, utilizando un extend "ahorras" espacio en memoria, pero pierdes la lista original. La pregunta debe ir en relación con el caso de uso que necesites, ¿qué tantos elementos vas a concatenar?, ¿requieres de una nueva variable?, ¿es correcto para tu caso de uso que modifiques el arreglo original?
por qué al escribir el comando:
print( numbers [1] ) , me dá como resultado = 2. y al escribir
print (numbers [ :1] ) , me da como resultado = [1] . No se supone que en ambos casos se pide la misma ubicación, solo que en una dice desde el inicio?
Recuerda que la posición después de los dos puntos no es incluyente, o sea, al decir numbers[:1], le estás pidiendo a Python que imprima desde el inicio (posición 0) hasta antes de la posición 1 (en otras palabras, solo te imprimirá la posición 0)
¿Por qué en la clase anterior cuando se imprimía
print(numbers [:3] ) , daba como resultado [1, 2, 3] donde la posición 3 la ocupa el #4, pero en la impresión éste no es considerado.
En esta clase al imprimir print(numbers [1] ), aquí si considera en el resultado el #2 precisamente la misma ubicación que figura en el comando solicitadp?
Son dos cosas un poco distintas. Una cosa es el indexing que solo te retorna valores individuales. Otra, es el slicing que retorna una secuencia de valores. Por ejemplo, al pedirle a Python que te imprima numbers[1], estás haciendo un indexing, solo le estás pidiendo a Python que te imprima la posicón 1 de la lista. Por otro lado, cuando deseas imprimir numbers[:3], esto ya es un slicing (los dos puntos implica una secuencia), Python te imprimirá desde el inicio hasta antes de la posición 3 ( o sea posición 2). Recuerda que la posición después de los dos puntos no es incluyente, por esta razón, la posición 3 no se incluye.