04 - listas en python 3 (2)
DESCRIPTION
Listas en PythonTRANSCRIPT
-
1
04ListasenPython3
DiegoAndrsAlvarezMarnProfesorAsociado
UniversidadNacionaldeColombiaSedeManizales
-
2
Tabladecontenido
Operadores
:,+,*
[:],[i],[i:j],[i:j:k]
is,isnot
in,notin
=,!=
,=
del,[]
Funciones:
len()
id()
eval()
all()
any()
list()
Mtodos:
append(),copy()
extend(),insert()
count(),index()
join(),remove()
pop(),clear()
sort(),reverse()
-
Tiposdedatos Tiposdedatosescalares:
Nmerosenteros,flotantes,complejos,fracciones,lgicos(booleanos)
Tiposdedatossecuenciales: Secuenciasdebytes,cadenas
Tiposdedatosestructurados: Listas(lists):secuenciasordenadasdevalores
Tuplas(tuples):secuenciasinmutablesdevaloresordenados
Conjuntos(sets):conjuntonoordenadodevalores
Diccionarios(dictionaries):conjuntonoordenadodevalores,quetienenunallavequelosidentifican
Objetos:mdulos,funciones,clases,mtodos,archivos,cdigocompilado,etc. Constantes
-
Listas
Laslistaspuedentenerdiferentestiposdeelementos
Alaslistasselespuedeindexaryhacerslicing
Laindexacindelaslistascomienzaen0
Laslistassepuedenconcatenar
Adiferenciadelascadenas,laslistassepuedenmodificar:sonmutables
Creaunduplicadodelalista,nounareferenciaaesta
-
5
Listas
-
Refirindoseaelementosfueradelalista
-
Listas
-
ReferenciasenPython
Seaplicanatiposdedatosmutables(ejemplo:listasydiccionarios).
Eloperador=esunoperadorquecopiareferencias.Lainstruccind=ccopiaunareferenciaalista,nolalistamisma
Utiliceslicing[:]oelmtodocopy()siquierecopiarcomotallavariable
-
Visualicelaejecucindelcdigoconhttp://www.pythontutor.com/
http://www.pythontutor.com/
-
Losoperadores+y*conlistas
Observequeeloperador+generaunacopiadea,nousaunareferenciaaa
-
https://docs.python.org/3/tutorial/datastructures.html#comparingsequencesandothertypes
Comparacindesecuencias
https://docs.python.org/3/tutorial/datastructures.html#comparing-sequences-and-other-types
-
Ordenamientolexicogrficodecadenas
(seaplicadeigualformaalistas)
Thecomparisonuseslexicographicalordering:firstthefirsttwoitemsare compared, and if they differ this determines the outcome of thecomparison;iftheyareequal,thenexttwoitemsarecompared,andsoon,untileithersequenceisexhausted.Losdiccionariosseordenandeestaforma.
http://es.wikipedia.org/wiki/Orden_lexicogrfico
http://es.wikipedia.org/wiki/Orden_lexicogr%C3%A1fico
-
Comparacindelistas The comparison uses lexicographicalordering: first the first two items are
compared, and if they differ this determinesthe outcome of the comparison; if they areequal,thenexttwoitemsarecompared,andso on, until either sequence is exhausted.Losdiccionariosseordenandeestaforma.
-
Comparacindelistas
Elprimerejemplofallayaquetype([1,2,3]) != type(3)yelsegundoejemploesvlidoyaque2
-
Losoperadoresiseisnot
Losoperadores"is"e"isnot"verificanlaidentidaddelobjeto.
"aisb"retornaTruesiysolosiaybsonelmismoobjeto:id(a)==id(b)
"aisnotb"retornaTruesiysolosiaybnosonelmismoobjeto:id(a)!=id(b)
-
Comparandoise== ==y!=sonoperadoresquecomparanlosvaloresdelosobjetos
iseis notsonoperadoresquecomparanlaidentidaddelosobjetos
Observeque"a==b"noimplicaque"aisb" Deigualforma,"aisb"noimplicaque"a==b"
-
EloperadorisVariablesintern
-
Agregarelementosaunalista,concatenacindelistas
Eloperador+concatenalistaconlista,nolistaconelemento.Siquiereagregarunelementoaunalista,utiliceelmtodoappend()
Elmtodoappend()esmuchomseficientequeutilizareloperador+especialmenteconlistasdegrantamao.
-
+vs.append()
-
Lecturadelistasconeval()
Leyunacadenadetexto
eval()evalulacadenadetextocomosifueraunaexpresinvlidadePython.
Formunalistaconlacadenadetexto
-
Insertarelementosenunalista
Nouselaforma1conlistasmuygrandes,yaqueesineficiente.
2.append()agregaunelementoalalista
4.extend()puedeagregarvarioselementosalalista
5.Coninsertsepuedenponerelementosencualquierposicindelalista
-
24
Losoperadoresinynot inLosoperadoresinynot inverificansiunvalorestpresenteenunalista,osiunacadenaesunasubcadenadeotracadena
-
25
Losoperadoresinynot inEsosoperadoressepuedenencadenar:
-
Buscandovaloresenunalista
1.count()retornaelnmerodeelementosenunalista
2.eloperadorinesmsrpidoqueifcount(L)==1:
4.index()retornaelndicedelaprimeraocurrencia
5.siindex()noencuentra,selanzaunaexcepcin
-
Elmtodoindex()enlistas
index()retornaelvalordelaprimeraocurrencia
index() puede tener dos argumentos extra parahacer la bsqueda ms gil. El primero dicedonde empezar y el ltimo donde terminar.Recuerde que el primer ndice de la lista es elcero.
-
Elmtodoindex()enlistas
-
Listasycadenas
-
Eliminarelementosdeunalista
Observequelaslistasnoquedanconvacosdespusdeeliminarelementos
BorralavariablemilistadelamemoriaRAM
delnoesaplicableacadenas(soninmutables)
Equivalenteamilista.clear()
-
Borrandoelementosdeunalistacon[]yslicingyelmtodoclear()(envezdeusardel)
-
Errorenelusodedel
-
Eliminarelementosdeunalista
remove()soloborralaprimeraocurrenciadelalista
remove()lanzarunaexcepcinsielelementoaeliminarnoexiste.
-
Eliminandoelementosdeunalistacon
pop()
Observequepop()retornaelelementoeliminado,mientrasqueremove()ydelnolohacen.
pop()conunndiceretornayeliminaelelementoindicado
-
Asignacindeelementosusandolistas(sequenceunpacking)
Sepuedeutilizarestetrucoconfunciones,demodoqueestasretornenvariosvaloresalavez.
-
Listasenuncontextobooleano
Unalistavacaretornafalso,unalistaconalmenosunelementoretornaverdadero
-
insert(),remove()ysort()retornanNone
-
Usandounalistacomounapila
-
Usandounalistacomounacola
-
Matrices:listasdelistas
-
Implementandomatricesconlistasdelistas
nestedlistcomprenhension
-
Formaincorrectadecrearmatrices
-
Formaincorrectadecrearmatrices
-
Otraformacorrectadecrearlasmatrices
-
Tamaodelasvariablesenmemoria
Varandeimplementacinaimplementacindelinterpretador.
-
Tiposdedatosmutablesvsinmutables
INMUTABLES: An object with afixed value. Immutable objectsinclude numbers, strings andtuples. Such an object cannot bealtered. A new object has to becreated if a different value has tobe stored. They play an importantrole in places where a constanthashvalueisneeded,forexampleas a key in a dictionary: ejemplo:floats,cadenas,tuplas
MUTABLES: Mutable objects canchange their value but keep theirid():ejemplo:listas,diccionarios
-
49
Referencias
Wikipedia http://www.inventwithpython.com/ http://www.diveintopython3.net/ DocumentacindePython:
https://docs.python.org/3/tutorial/index.html https://docs.python.org/3/
MarzalVar,Andrs;GraciaLuengo,Isabel;GarcaSevilla,Pedro(2014).IntroduccinalaprogramacinconPython3.Disponibleen:http://dx.doi.org/10.6035/Sapientia93
Slide 1Slide 2Slide 3Slide 4Slide 5Slide 6Slide 7Slide 8Slide 9Slide 10Slide 11Slide 12Slide 13Slide 14Slide 15Slide 16Slide 17Slide 18Slide 19Slide 20Slide 22Slide 23Slide 24Slide 25Slide 26Slide 27Slide 28Slide 29Slide 30Slide 31Slide 32Slide 33Slide 34Slide 35Slide 36Slide 37Slide 38Slide 39Slide 40Slide 41Slide 42Slide 43Slide 44Slide 45Slide 46Slide 47Slide 48Slide 49