SlideShare una empresa de Scribd logo
1 de 26
Descargar para leer sin conexión
ESTRUCTURA DE DATOS
CON PYTHON
(LISTAS)
Mg. Richard E. Mendoza G.
https://www.youtube.com/watch?v=9hUjhIfs-bw
https:// apkpure.com/es/lego%C2%AE-mindstorms%C2%AE-fix-factory/com.lego.mindstorms.fixthefactory
Semana3
Slices
● Python tiene una de las sintaxis más
poderosas para manipular
secuencias
● Esta sintaxis se llama slice
(rebanada en español)
○ secuencia[comienzo:final:pasos]
Slices
un_slice = 'platano'
print(un_slice[0:len(un_slice):1])
print(un_slice[0:len(un_slice)])
print(un_slice[:])
print(un_slice[0])
print(un_slice[-2])
print(un_slice[3:])
print(un_slice[3::2])
print(un_slice[:len(un_slice)])
print(un_slice[:len(un_slice)-2])
print(un_slice[:len(un_slice):3])
print(un_slice[2:len(un_slice):4])
0 1 2 3 4 5 6
p l a t a n O
-7 -6 -5 -4 -3 -2 -1
Semana3
Rangos
● Representan una secuenciade
enteros.
range (start , stop, step)
● Al igual que las cadenas y las
tuplas, los rangos son
inmutables.
● Muy eficientes en uso de
memoria y normalmente
utilizadosen for loops
Rangos
mi_rango=range(0,7,1)
mi_otro_rango=mi_rango
print(type(mi_rango))
print(id(mi_rango))
print(type(mi_otro_rango))
print(id(mi_otro_rango))
for contador in mi_rango:
print(contador)
for item in range(7):
print(item)
Listasymutabilidad
Módulo 5
● Sonsecuenciasde objetos, pero a
diferencia de las tuplas, sí son
mutables.
● En las listas, los valores pueden
tener cualquier tipo
● Cuando modificas una lista,
pueden existir efectos
secundarios(side
effects
)
Listas y mutabilidad
mi_lista=[9,6,8,4,5,20,30,7]
print(type(mi_lista))
print(id(mi_lista))
print(mi_lista)
print(mi_lista[0])
print(mi_lista[7])
mi_lista[5]=15
print(mi_lista)
mi_lista2=[5,'b',10.5,True]
print(mi_lista2)
print(type(mi_lista))
print(help(list))
● Para modificar una lista
podemos:
○ Los índices de las listas,
funcionan igual que los de
los strings
○ Las listas se inician con [ ] o
con la función list
Listas y mutabilidad
paises = ['México', 'Venezuela', 'Colomb
ia', 'Argentina']
paises_globales = paises
print(id(paises), id(paises_globales))
paises[0] = 'Guatemala'
print(paises)
print(paises_globales)
paises_globales = None
paises_globales = paises.copy()
print(id(paises),id(paises_globales))
paises[0] = 'Honduras'
print(paises)
print(paises_globales)
● Para ciclar a lo largo de los
elementos de una lista,
normalmente usamos for
loops
● Si la lista está vacía, el
cuerpo del loop nunca se
ejecuta
Listas y mutabilidad
milista = ['one','two','three','four']
print(milista.index('two’))
for elemento in milista:
print(elemento)
del milista[2] #print(mylist)
del milista[1:3] #print(mylist)
Python implementa una forma
avanzada y simple de crear sublistas
de elementos internos de una lista,
usando la técnica del slicing.
La forma básica del slicing es:
[posicion_inicial:posicion_final:paso]
Slicing en listas
letras = ['a', 'b', 'c', 'd', 'e', 'f',
'g']
letras[4:]
letras[4:6]
letras[2:]
letras[2:100]
letras[2:8:2]
letras[8:2:-2]
letras[:-1]
letras[:-5]
letras[:-5:-2]
Semana 3
Clonación
● Casi siempre es mejor clonar
unalista envezde mutarla
● Para clonar una lista podemos
utilizar rebanadas (slices) o la
función list
Clonación
mi_lista=[1,2,3]
print(mi_lista)
print(id(mi_lista))
mi_otra_lista=list(mi_lista)
#mi_otra_lista=mi_lista[::]
print(mi_otra_lista)
print(id(mi_otra_lista))
● Es una forma concisa de
aplicar operaciones a los
valores deunasecuencia.
● Tambiénse pueden aplicar
condiciones para
filtrar .
List comprehension
my_list = list(range(10))
print(my_list)
double = [i * 2 for i in my_list]
print(double)
pares = [i for i in my_list if i % 2 ==
0]
print(pares)
Operaciones con listas
● El operador + (suma) concatena dos o
más listas
● El operador * (multiplicación) repite la
misma lista
● Para añadir un elemento al final de la
lista, podemos utilizar el método
append
● Para eliminar el último elemento de la
lista, podemos utilizar el método pop
● Para ordenar una lista, podemos utilizar
el método sort
● Para eliminar elementos, también
podemos utilizar el keyword del
● Si sabesqué elemento quieres eliminar,
pero no su índice, puedes utilizar el
método remove
lista=[3, 5, 2, 4, 1]
lista.sort() #print(list)
lista.reverse() #print(mylist)
removido=lista.pop(2)
print(lista)#print(removed)
lista.remove('two')
del lista[2] #print(mylist)
del lista[1:3] #print(mylist)
Ejercicios:
Plantear una función para
administrar una lista genérica
implementando los siguientes
métodos :
a) Insertar un nodo al principio de la
lista.
b) Insertar un nodo al final de la
lista.
c) Insertar un nodo en la segunda
posición. Si la lista está vacía no se
inserta el nodo.
Listas
d) Insertar un nodo en la ante última
posición.
e) Borrar el primer nodo.
f) Borrar el segundo nodo.
g) Borrar el último nodo.
h) Borrar el nodo con información
mayor.
Prácticas
DEFINICION
ANALISIS
Datos de Entrada: Proceso: Salida:
ALGORITMO
Pseudocódigo: Diagrama de Flujo:
Si amas lo que haces y estás dispuesto a
hacer lo que sea necesario , está a tu
alcance. Y valdrá la pena cada minuto que
pases solo por la noche, pensando y
pensando qué es lo que quieres diseñar o
construir. Valdrá la pena, lo prometo .
Nunca te fíes de un ordenador
que no puedas tirar por la
ventana.

Más contenido relacionado

La actualidad más candente

Aplication
AplicationAplication
Aplication
wouyrmz
 

La actualidad más candente (19)

Script de Punteros a Funciones
Script de Punteros a FuncionesScript de Punteros a Funciones
Script de Punteros a Funciones
 
Python03
Python03Python03
Python03
 
Python02
Python02Python02
Python02
 
Ordenamiento burbuja1
Ordenamiento burbuja1Ordenamiento burbuja1
Ordenamiento burbuja1
 
Lección No. 1 de Python
Lección No. 1 de PythonLección No. 1 de Python
Lección No. 1 de Python
 
Semana8 mate4-del 28 sept al 2 de octubre
Semana8 mate4-del 28 sept al 2 de octubreSemana8 mate4-del 28 sept al 2 de octubre
Semana8 mate4-del 28 sept al 2 de octubre
 
Elaborar una calculadora
Elaborar una calculadoraElaborar una calculadora
Elaborar una calculadora
 
Sofware de matriz
Sofware de matrizSofware de matriz
Sofware de matriz
 
Informe estructuras lineales
Informe estructuras linealesInforme estructuras lineales
Informe estructuras lineales
 
Informe estructuras lineales
Informe estructuras linealesInforme estructuras lineales
Informe estructuras lineales
 
1.2. kotlin (1)
1.2. kotlin (1)1.2. kotlin (1)
1.2. kotlin (1)
 
Objetop
ObjetopObjetop
Objetop
 
Kruskal
KruskalKruskal
Kruskal
 
Funciones as3
Funciones as3Funciones as3
Funciones as3
 
Plots
PlotsPlots
Plots
 
Aplication
AplicationAplication
Aplication
 
Include
IncludeInclude
Include
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
 
Control jtable con base de datos
Control jtable con base de datosControl jtable con base de datos
Control jtable con base de datos
 

Similar a Semana 4 Estructuras de datos(Listas)

Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
Wally IG
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
Johanna Marin
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
Johanna Marin
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
Marco Garay
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
Jansel M
 
Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)
Orlando Verdugo
 
Unidad vi vii dml select
Unidad vi vii dml selectUnidad vi vii dml select
Unidad vi vii dml select
Orlando Verdugo
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
Daniel Guaycha
 

Similar a Semana 4 Estructuras de datos(Listas) (20)

Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdfSesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
Sesion1_Ciencia_de_Datos-Introduccion a Pithon.pdf
 
Taller listasyeasygui
Taller listasyeasyguiTaller listasyeasygui
Taller listasyeasygui
 
Introducción a la programación en Python
Introducción a la programación en PythonIntroducción a la programación en Python
Introducción a la programación en Python
 
Temas programacion java_2
Temas programacion java_2Temas programacion java_2
Temas programacion java_2
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Funciones con vectores y matrices
Funciones con vectores y matricesFunciones con vectores y matrices
Funciones con vectores y matrices
 
Introducción a Python
Introducción a PythonIntroducción a Python
Introducción a Python
 
Comandos r
Comandos rComandos r
Comandos r
 
Que es un vector
Que es un vectorQue es un vector
Que es un vector
 
Arreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionalesArreglo unidimensionales y bidimensionales
Arreglo unidimensionales y bidimensionales
 
9. listas y for-in
9.  listas y for-in9.  listas y for-in
9. listas y for-in
 
Prolog ejercicios resueltos
Prolog ejercicios resueltosProlog ejercicios resueltos
Prolog ejercicios resueltos
 
Operadores Fundamentos de la Programacion
Operadores Fundamentos de la ProgramacionOperadores Fundamentos de la Programacion
Operadores Fundamentos de la Programacion
 
Python
Python Python
Python
 
Curso lisp
Curso lispCurso lisp
Curso lisp
 
Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)Como realizar consultas en sql (Unidad 3)
Como realizar consultas en sql (Unidad 3)
 
Unidad vi vii dml select
Unidad vi vii dml selectUnidad vi vii dml select
Unidad vi vii dml select
 
Algoritmos Ordenamiento
Algoritmos OrdenamientoAlgoritmos Ordenamiento
Algoritmos Ordenamiento
 
Computacion
ComputacionComputacion
Computacion
 
Tema4 programación generica
Tema4   programación genericaTema4   programación generica
Tema4 programación generica
 

Más de Richard Eliseo Mendoza Gafaro

Más de Richard Eliseo Mendoza Gafaro (20)

CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEICUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
CUESTIONARIO REDES TELEMATICAS CISCO, HPE Y HUAWEI
 
Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1Material_para_Estudiante_DMPC_V012022A_SP_1
Material_para_Estudiante_DMPC_V012022A_SP_1
 
MANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASEMANUAL DE ORACLE AUTONOMOUS DATABASE
MANUAL DE ORACLE AUTONOMOUS DATABASE
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 3
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 2
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 4
 
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
PARCIAL 2 PLATAFORMAS Y SOPORTES MULTIMEDIA 2023-2-VARIANTE 1
 
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCIPARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
PARCIAL 2 SISTEMAS OPERATIVOS - BD MYSQL EN ORACLE OCI
 
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UXPARCIAL 2 DESARROLLO DE INTERFACES UI UX
PARCIAL 2 DESARROLLO DE INTERFACES UI UX
 
Explicación cadena de valor
Explicación cadena de valorExplicación cadena de valor
Explicación cadena de valor
 
MANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEBMANUAL DESPLIEGUE SERVIDOR WEB
MANUAL DESPLIEGUE SERVIDOR WEB
 
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCHMANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
MANUAL DE DESPLIEGUE BASE DE DATOS CON WORKBENCH
 
CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2CUESTIONARIO INTRODUCCION A UNITY 3D v2
CUESTIONARIO INTRODUCCION A UNITY 3D v2
 
CUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3DCUESTIONARIO INTRODUCCION A UNITY 3D
CUESTIONARIO INTRODUCCION A UNITY 3D
 
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOSMANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
MANUAL DESPLIEGUE SERVIDOR BASE DE DATOS
 
INTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOSINTRODUCCION A SISTEMAS OPERATIVOS
INTRODUCCION A SISTEMAS OPERATIVOS
 
CLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUDCLASE 2 ORACLE CLOUD
CLASE 2 ORACLE CLOUD
 
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIOCASOS DE ESTUDIO MODELADO DEL NEGOCIO
CASOS DE ESTUDIO MODELADO DEL NEGOCIO
 
MATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNAMATERIAL DE ESTUDIO CCNA
MATERIAL DE ESTUDIO CCNA
 
PREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTASPREGUNTAS TOGAF 9.2 RESPUESTAS
PREGUNTAS TOGAF 9.2 RESPUESTAS
 

Último

sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gst
DavidRojas870673
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
octaviosalazar18
 

Último (20)

TAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientosTAIICHI OHNO, historia, obras, reconocimientos
TAIICHI OHNO, historia, obras, reconocimientos
 
Mecatronica Automotriz .pdf
Mecatronica Automotriz              .pdfMecatronica Automotriz              .pdf
Mecatronica Automotriz .pdf
 
27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt27311861-Cuencas-sedimentarias-en-Colombia.ppt
27311861-Cuencas-sedimentarias-en-Colombia.ppt
 
ingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptxingenieria grafica para la carrera de ingeniera .pptx
ingenieria grafica para la carrera de ingeniera .pptx
 
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdfCI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
CI164 Materiales de Construcción 202401 - Sesión 03 Propiedades No Mecánicas.pdf
 
Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...Propuesta para la creación de un Centro de Innovación para la Refundación ...
Propuesta para la creación de un Centro de Innovación para la Refundación ...
 
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der RoheAportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
Aportes a la Arquitectura de Le Corbusier y Mies Van der Rohe
 
2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica2. Cristaloquimica. ingenieria geologica
2. Cristaloquimica. ingenieria geologica
 
Video sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptxVideo sustentación GA2- 240201528-AA3-EV01.pptx
Video sustentación GA2- 240201528-AA3-EV01.pptx
 
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf  PARA TRABAJO SEGUROATS-FORMATO cara.pdf  PARA TRABAJO SEGURO
ATS-FORMATO cara.pdf PARA TRABAJO SEGURO
 
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdfNTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
NTC 3883 análisis sensorial. metodología. prueba duo-trio.pdf
 
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdfFUNCION DE ESTADO EN LA TERMODINAMICA.pdf
FUNCION DE ESTADO EN LA TERMODINAMICA.pdf
 
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTOPRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
PRESENTACION DE LAS PLAGAS Y ENFERMEDADES DEL PALTO
 
sistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gstsistema de CLORACIÓN DE AGUA POTABLE gst
sistema de CLORACIÓN DE AGUA POTABLE gst
 
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
[1LLF] UNIDADES, MAGNITUDES FÍSICAS Y VECTORES.pdf
 
INFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdfINFORME de pregrado ingenieria de vias.pdf
INFORME de pregrado ingenieria de vias.pdf
 
Clasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docxClasificación de Equipos e Instrumentos en Electricidad.docx
Clasificación de Equipos e Instrumentos en Electricidad.docx
 
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
2e38892c-fc5d-490e-b751-ce772cf4756f.pdf
 
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHTAPORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
APORTES A LA ARQUITECTURA DE WALTER GROPIUS Y FRANK LLOYD WRIGHT
 
Sistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptxSistemas de Ecuaciones no lineales-1.pptx
Sistemas de Ecuaciones no lineales-1.pptx
 

Semana 4 Estructuras de datos(Listas)

  • 1. ESTRUCTURA DE DATOS CON PYTHON (LISTAS) Mg. Richard E. Mendoza G.
  • 2.
  • 3.
  • 5.
  • 6.
  • 8.
  • 9.
  • 11. ● Python tiene una de las sintaxis más poderosas para manipular secuencias ● Esta sintaxis se llama slice (rebanada en español) ○ secuencia[comienzo:final:pasos] Slices un_slice = 'platano' print(un_slice[0:len(un_slice):1]) print(un_slice[0:len(un_slice)]) print(un_slice[:]) print(un_slice[0]) print(un_slice[-2]) print(un_slice[3:]) print(un_slice[3::2]) print(un_slice[:len(un_slice)]) print(un_slice[:len(un_slice)-2]) print(un_slice[:len(un_slice):3]) print(un_slice[2:len(un_slice):4]) 0 1 2 3 4 5 6 p l a t a n O -7 -6 -5 -4 -3 -2 -1
  • 13. ● Representan una secuenciade enteros. range (start , stop, step) ● Al igual que las cadenas y las tuplas, los rangos son inmutables. ● Muy eficientes en uso de memoria y normalmente utilizadosen for loops Rangos mi_rango=range(0,7,1) mi_otro_rango=mi_rango print(type(mi_rango)) print(id(mi_rango)) print(type(mi_otro_rango)) print(id(mi_otro_rango)) for contador in mi_rango: print(contador) for item in range(7): print(item)
  • 15. ● Sonsecuenciasde objetos, pero a diferencia de las tuplas, sí son mutables. ● En las listas, los valores pueden tener cualquier tipo ● Cuando modificas una lista, pueden existir efectos secundarios(side effects ) Listas y mutabilidad mi_lista=[9,6,8,4,5,20,30,7] print(type(mi_lista)) print(id(mi_lista)) print(mi_lista) print(mi_lista[0]) print(mi_lista[7]) mi_lista[5]=15 print(mi_lista) mi_lista2=[5,'b',10.5,True] print(mi_lista2) print(type(mi_lista)) print(help(list))
  • 16. ● Para modificar una lista podemos: ○ Los índices de las listas, funcionan igual que los de los strings ○ Las listas se inician con [ ] o con la función list Listas y mutabilidad paises = ['México', 'Venezuela', 'Colomb ia', 'Argentina'] paises_globales = paises print(id(paises), id(paises_globales)) paises[0] = 'Guatemala' print(paises) print(paises_globales) paises_globales = None paises_globales = paises.copy() print(id(paises),id(paises_globales)) paises[0] = 'Honduras' print(paises) print(paises_globales)
  • 17. ● Para ciclar a lo largo de los elementos de una lista, normalmente usamos for loops ● Si la lista está vacía, el cuerpo del loop nunca se ejecuta Listas y mutabilidad milista = ['one','two','three','four'] print(milista.index('two’)) for elemento in milista: print(elemento) del milista[2] #print(mylist) del milista[1:3] #print(mylist)
  • 18. Python implementa una forma avanzada y simple de crear sublistas de elementos internos de una lista, usando la técnica del slicing. La forma básica del slicing es: [posicion_inicial:posicion_final:paso] Slicing en listas letras = ['a', 'b', 'c', 'd', 'e', 'f', 'g'] letras[4:] letras[4:6] letras[2:] letras[2:100] letras[2:8:2] letras[8:2:-2] letras[:-1] letras[:-5] letras[:-5:-2]
  • 20. ● Casi siempre es mejor clonar unalista envezde mutarla ● Para clonar una lista podemos utilizar rebanadas (slices) o la función list Clonación mi_lista=[1,2,3] print(mi_lista) print(id(mi_lista)) mi_otra_lista=list(mi_lista) #mi_otra_lista=mi_lista[::] print(mi_otra_lista) print(id(mi_otra_lista))
  • 21. ● Es una forma concisa de aplicar operaciones a los valores deunasecuencia. ● Tambiénse pueden aplicar condiciones para filtrar . List comprehension my_list = list(range(10)) print(my_list) double = [i * 2 for i in my_list] print(double) pares = [i for i in my_list if i % 2 == 0] print(pares)
  • 22. Operaciones con listas ● El operador + (suma) concatena dos o más listas ● El operador * (multiplicación) repite la misma lista ● Para añadir un elemento al final de la lista, podemos utilizar el método append ● Para eliminar el último elemento de la lista, podemos utilizar el método pop ● Para ordenar una lista, podemos utilizar el método sort ● Para eliminar elementos, también podemos utilizar el keyword del ● Si sabesqué elemento quieres eliminar, pero no su índice, puedes utilizar el método remove lista=[3, 5, 2, 4, 1] lista.sort() #print(list) lista.reverse() #print(mylist) removido=lista.pop(2) print(lista)#print(removed) lista.remove('two') del lista[2] #print(mylist) del lista[1:3] #print(mylist)
  • 23. Ejercicios: Plantear una función para administrar una lista genérica implementando los siguientes métodos : a) Insertar un nodo al principio de la lista. b) Insertar un nodo al final de la lista. c) Insertar un nodo en la segunda posición. Si la lista está vacía no se inserta el nodo. Listas d) Insertar un nodo en la ante última posición. e) Borrar el primer nodo. f) Borrar el segundo nodo. g) Borrar el último nodo. h) Borrar el nodo con información mayor.
  • 24. Prácticas DEFINICION ANALISIS Datos de Entrada: Proceso: Salida: ALGORITMO Pseudocódigo: Diagrama de Flujo:
  • 25.
  • 26. Si amas lo que haces y estás dispuesto a hacer lo que sea necesario , está a tu alcance. Y valdrá la pena cada minuto que pases solo por la noche, pensando y pensando qué es lo que quieres diseñar o construir. Valdrá la pena, lo prometo . Nunca te fíes de un ordenador que no puedas tirar por la ventana.