Date post: | 17-Nov-2015 |
Category: |
Documents |
Upload: | juan-diego-mantilla |
View: | 3 times |
Download: | 0 times |
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