VECTORES EN PYTHON
Ordenamiento de listas en Ordenamiento Python Los elementos de una lista pueden ser ordenados a través del método sort() o utilizando la función sorted(). Cómo argumento puede utilizar reverse con el valor True o False. Por defecto, se utiliza el segundo valor, el cuál indica ue la lista será ordenada de ma!or a menor. "i por el contrario el valor es True, la lista será ordenada inversamente.
1. >>> list = [3, 1, 9, 8, 6] 2. >>> sorte!list" 3. [1, 3, 6, 8, 9] #. >>> sorte!list, re$erse = Tr%e" &. [9, 8, 6, 3, 1] 6. >>> list '. [3, 1, 9, 8, 6] Como puedes ver la lista original #a uedado inalterada. "in em$argo, si en lugar de utilizar sorted(), utilizamos el método sort(), la lista uedará automáticamente modificada.
1. >>> list.sort!" 2. >>> list 3. [1, 3, 6, 8, 9] Tanto Ta nto para aplicar sort() cómo sorted() de$emos tener en cuenta ue la lista ue va a ser ordenada contiene elementos ue son del mismo tipo. %n caso contrario, el intérprete de
P!t#on lanzará un error. &o o$stante, es posi$le realizar ordenaciones de listas con elementos de distinto tipo si es el programador el encargado de esta$lecer el criterio de ordnación. Para ello, contamos con el parámetro 'e! ue puede ser pasado cómo argumento. %l valor del mismo puede ser una función ue fiará cómo ordenar los elementos. demás, el mencionado parámetro tam$ién puede ser utilizado para cam$iar la forma de ordenar ue emplee el intérprete por defecto, aunue los elementos sean d el mismo tipo. "upongamos ue tenemos la siguiente lista*
1. >>> list = [()*(, (*+(, (C(, ()(] #ora ordenamos con la función sorted() sin ning+n parámetro adicional ! o$servaremos ue el criterio de ordenación ue utiliza el intérprete, por defecto, es ordenar primero las letras ma!+sculas*
1. >>> sorte!list" 2. [(*+(, (C(, ()-(, ()(] "in em$argo, al pasar cómo argumento un determinado criterio de ordenación, el resultario vara*
1. >>> sorte!list, e/ = str.lo0er" 2. [()*(, (*+(, ()(, (C(] -tro método ue contienen las listas relacionado con la ordenación de valores es reverse(), ue automáticamente ordena una lista en orden inverso al ue se encuentran sus elementos originales. Tomando el valor de la +ltima lista del eemplo, veamos ue sucede*
1. >>> list.re$erse!" 2. >>> list 3. [9, 8, 6, 3, 1] Los métodos ! funciones de ordenación no sólo funcionan con n+meros, sino tam$ién con caracteres ! con cadenas de teto*
1. >>> list = [(+e(, ()+(, ((, ())(, (+(] 2. >>> list.sort!" 3. >>> list #. [())(, ()+(, (+e(, (+(, ((] / "ee more at* #ttp*00111.codeo$s.$iz0es0$log023450350460ordenamiento/de/listas/en/ p!t#on7st#as#.e&389rs.dpuf
Ej er c i c i osdev ec t or es Ej er ci ci o7. 6. 1. Es c r i bi runaf unc i ónquer ec i baunat upl adeel ement osei ndi que s i s ee nc u e nt r a no r d en ad osd eme no rama y o ron o. Ej e r c i ci o7 . 6 . 2 .Domi nó. 1.
nc aj an Escr i bi runaf unci ónquei ndi quesi dosfichasdedomi nóe on o.L asfi c h a s
s onr ec i bi dasendost upl as ,porej empl o:!3,#" y!&,#". 2.
Escr i bi runaf unci ónquei ndi quesi dosfichasdedomi nóe on o.L asfi c h a s nc aj an s onr e ci bi d asenu nac a de na ,p ore j e mpl o :3# 2&.Not a: ut i l i z arl af unc i ónslit de l a sc ad en as .
Ej e r c i ci o7 . 6 . 3 .Ca mpañael ec t or a l 1 .
Es c r i b i ru naf u nc i ó nqu er e c i b aun at u pl ac o nno mb r e s ,yp a r ac a dan omb r e i mp r i mae lme ns a j eEs t i ma do,v o t ep ormí .
2 .
Es c r i b i ru naf u nc i ó nq uer e c i b au nat u pl ac onno mb r e s ,u napo s i c i ó nd eo r i g en y u nac an t i d ad,ei mpr i mael mens aj eant er i orpar al os nombr esqueseencuent r an apar t i rdel apos i c i ón.
3 .
Mo di fi c a rl a sf u nc i o ne san t e r i o r e spa r aq uet e ng ane nc u e nt ae lg én er od el des t i nat ar i o,par ael l o,deber ánr ec i bi runat upl adet upl as ,c ont eni endoel nombr ey el géner o.
Ej er ci ci o7. 6. 4.Vect or es 1 .
Es c r i b i ru naf u nc i ó nq uer e c i b ad osv e c t o r e syd ev u el v as up r o du c t oe s c al a r .
2 .
Es c r i b i ru naf u nc i ó nq uer e c i b ad osv e c t o r e syde v ue l v as i s o nonoor t o go na l e s .
3 .
Es c r i b i ru naf u nc i ó nq uer e c i b ad osv e c t o r e syd ev u el v as is o np ar a l e l o son o.
4 .
Es c r i b i ru naf u nc i ó nq uer e c i b au nv e c t o ryd e v u el v as uno r ma .
Ej er ci ci o7. 6. 5. Dadaunal i s t adenúmer osent er os ,es c r i bi runaf unc i ónque: 1.
Devuel vaunal i st acont odosl osqueseanpr i mos.
2 .
De v u el v al as u ma t o r i aye l p r o me di od el o sv a l o r e s .
3 .
De v u el v au n al i s t ac o nel f a c t o r i a ld ec ad aun odee s osn ú me r o s .
Ej er ci ci o7. 6. 6. Da daun al i s t adenú me r o sen t er osyu ne nt er o,es c r i bi runa f unc i ónque: 1 .
De v ue l v at r e sl i s t a s ,u nac onl o sme no r e s ,o t r ac o nl o sma y o r e syo t r ac o nl o s i gual esa.
2 .
De v u el v au n al i s t ac o naq ue l l o sq ues o nmú l t i p l o sd e.
Ej er ci ci o7. 6. 7. Es cr i bi runaf unc i ónquer ec i baunal i s t adet upl as( Apel l i do, No mb r e ,I n i c i a l _ s eg un do _n omb r e )yde v ue l v au nal i s t ad ec a de na sd on dec a da unac ont engapr i mer oel nombr e,l uegol ai ni c i al c onunpunt o,yl uegoel apel l i do. Ej er ci ci o7. 6. 8.I nver si óndel i st as 1 .
Re al i z a ru naf u nc i ó nq ue ,d ad au nal i s t a ,d ev u el v aun an ue v al i s t ac u y oc o nt e ni d o s eai gual al aor i gi nal per oi nv er t i da.As í ,dadal al i s t a[45i4, 4+%e4, 4)4, 4)4, 4))4] ,
[4))4, 4)4, 4)4, 4+%e4, 45i4] . d eb er ád ev o l v e r 2.
Real i z aro t r af unc i ónquei n vi er t al al i s t a ,per oenl ug ardede v ol v erunanue v a, modi fi quel al i s t adadapar ai nv er t i r l a,si us arl i s t asaux i l i ar es .
Ej er ci ci o7. 6. 9. Es cr i bi runaf unc i óne7)%et)r p ar aunal i s t a,dondeepaquet ar s i gni fi cai ndi c arl ar epet i c i óndev al or escons ec ut i v osmedi ant eunat upl a( v al or , c ant i dadder epet i c i ones ) .Porej empl o,empaquet ar![1, 1, 1, 3, &, 1, 1, 3, 3]" debe dev ol v er[!1, 3" , !3, 1" , !&, 1", !1, 2", !3, 2"] . Ej er ci ci o7. 6. 10.Mat r i ces. 1 .
Es c r i b i ru naf u nc i ó nq uer e c i b ad osma t r i c e syd ev u e l v al as uma .
2 .
Es c r i b i ru naf u nc i ó nq uer e c i b ad osma t r i c e syde v ue l v ael p r o du c t o .
3 .
Es c r i b i ru naf u nc i ó nqu eop er es o br eu nama t r i zyme di a nt eel i mi nac i ón
dev uel v aunamat r i zt r i angul ars uper i or . gaus s i ana 4 .
Es c r i b i ru naf u nc i ó nq uei n di q ues i u ng r u pod ev e c t o r e s ,r e c i b i d osme di a nt eu na l i s t a,s onl i neal ment ei ndependi ent esono.
Ej e r c i ci o7 . 6 . 1 1.Pl e ga dodeunt e xt o. Es cr i bi runaf unc i ónquer ec i baunt ex t oy u nal o ng i t u dyd ev ue l v aunal i s t adec ad ena sdec omomá x i moes al on gi t u d.L as l í neasdebens erc or t adascor r ec t ament eenl oses pac i os( s i nc or t arl aspal abr as ) . Ej e r c i c i o7 . 6 . 1 2.Func i one squer e ci be nf unc i one s. 1.
Escr i bi runaf unci onl l amada7),quer ec i baunaf unc i ónyunal i s t ayde vuel v al a l i s t aquer es ul t adeapl i c arl af unc i ónr ec i bi daac adaunodel osel ement osdel al i s t a r ec i bi da.
2.
Escr i bi runaf unci ónl l amadalter,quer ec i baunaf unc i ónyunal i s t ayde vuel v a unal i s t ac onl osel ement osdel al i s t ar ec i bi dapar al oscual esl af unc i ónr ec i bi da d ev u el v eu nv a l o rv e r d ad er o .
3 .
¿ Enquéej e r c i c i o sdees t agu í apo dr í aha be ru t i l i z ad oe s t a sf u nc i o ne s?
El p r o bl e mad el ab ús q ue da Pr e s en t a mo sah or au nod el o spr o bl e ma smá sc l á s i c o sdel ac o mp ut a c i ó n,el es ep ue dee nu nc i ard el as i g ui e nt ema ne r a : pr obl emadel abús queda,qu
Pr obl ema: Dadaunal i s t a:s yunv al or: dev ol v erel í ndi c ede: en:s s i es t á : en:s,y;1 s i noe s t áe nx s ` . : Al i c i aHac k erafi r maquees t epr ob l emat i eneunas ol uc i ónmuys enc i l l aenPy t hon: s ep ue deu s ard i r e ct ame nt el ap od er o s af u nc i ó nie:!" del i s t a. Pr o ba mo ses as o l u c i ó np a r av e rq uép as a : >>> [1,3,&,'].ie:!&" 2 >>> [1,3,&,'].ie:!2<" Tr)e+) !7ost reet )ll l)st" ile (?sti>(, lie 1, i ?7o%le> V)l%eError list.ie:!:" : ot i list
Ve mo squ eu s arl af u nc i ó nie:!" r es uel v enues t r opr obl emas iel v al orbus c ado es t áenl al i s t a,per os iel v al ornoes t ános ól onodev uel v eun;1,s i noques e pr oduc euner r or . El pr obl emaesquepar apoderapl i c arl af unc i ónie:!" d eb emo ses t a rs e g ur o s dequeel v al ores t áenl al i s t a,ypar aav er i guares oPy t honnospr ov eedel o p e r a d o ri: >>> & i [1,3,&,'] Tr%e >>> 2< i [1, 3, &, '] )lse
Os e aq ues il l a ma mo sal af u nc i ó nie:!" s ól oc uandoel r es ul t adod ei es v e r d ad er o ,yd e v ol v e mo s;1 c uandoe lr es ul t adodei esf al s o,es t ar emos r es ol v i end oe lpr obl emapl a nt eadous andos ól of unc i onespr o vi s t asp orPy t hon.La s ol uc i óns emues t r aenel c ódi go8. 1. Pr o ba mo sl af u nc i ó n+%s%e)@o@ie:!" : >>> +%s%e)@o@ie:![1, #, , 3, <, 1], 1"
< >>> +%s%e)@o@ie:![1, #, , 3, <, 1], 1" & A +%s%e)@o@ie:./ -%s) %tiliB)o ie: e i ro$istos or P/to
AD%sr+ie$ /to A eoiF l)ti1
eG +%s%e)@o@ie:!:s, :" (((-%s) % ele7eto : e %) list) :s si : est e :s e$%el$e :s.ie:!:" e lo otr)rio e$%el$e 1 (((
iG : i :s ret%r!:s.ie:!:"" else ret%r!1" >>> +%s%e)@o@ie:![1, #, , 3, <, 1], 3" 3 >>> +%s%e)@o@ie:![1, #, , 3, <, 1], ##" 1 >>> +%s%e)@o@ie:![], <" 1