Está en la página 1de 2
Tuplas y secuencias \Vimos que las listas y cadenas tienen propiedades en comtin, como el indizado y las operaciones de seccionado. Estas son dos ejemplos de datos de tipo secuencia (ver Tipos integrados). Como Python es un lenguaje en evoluctén, otros datos de tipo secuencia pueden agregarse. Existe otro dato de tipo secuencia estdndar: la tupla. Una tupla consiste de un niimero de valores separados por comas. por ejemplo: >>> t = 12345, 54321, ‘hola!" S55 £10) 2,234 5) (0) = seese typetrror: ‘tuple! chject does net support item assignment vy 2 31 8, 2, 1D (C4 231) 2 aD ‘Como puedes ver, en la salida las tuplas siempre se enclerran entre paréntesis, para que las tuolas anidadas puedan interpretarse correctamente; pueden ingresarse con o sin paréntesis, aunque a menudo los paréntesis son necesarios de todas formas (si la tupla es parte de una expresién més grande). No es posible asignar a los lems individuals de una tupla, pero sin embargo si se puede crear tuplas que contengan objetos mutables, como las listas, Apesar de que les tuplas puedan parecerse a las lisias, frecuentemente se utlizan en distinias situaciones y para dstintos Propésitos. Las luplas son inmutables y normalmente contienen una secuencia heterogénea de elementos que son _accedidos al desempaquetar (ver mds adelante en esta eeccién) 0 indizar (0 incliso accader por atributo en el cazo de las ‘namedtupies). Las listas son mutabies, y sus elementos son nommalmente homogéneos y se acceden iterando a la sta Un problema particular es la construccién de tuplas que caniengan 0 0 1 item: la sintaxis presenta algunas pecuillaridades para estos casos. Las tuplas vacias ce construyen mediante un par de peréntesis vacio; una tupla con un item se construye onlendo una coma a continuacion del valor (no alcenza con encerrar un Unico valor enire paréntesis). Feo. pero efectvo. Por ejemplo: >>> vacia + 0) >>> singieton = ‘mola’, F< >>> Lentvaciay >>> len(singleton) La declaracién © - 12345, 54321, thola!' 06 un ojomple de empaquetado do tuplas: los valores 12345, 54321 y ‘hola!’ seempaquetan juntos en una tuple, La oparacién inversa también ee posible: 272 Hy vy Ene Esto se llama, apropladamente, desempaquetado de secvencias, y funciona para cuakuler secuencia en e! lado derecto del igual. El desempaquetado de secuencias requiere que la cantided de variables a la iequierda dal signo igual cea ol tamafio de la secuencia. Nota que la asignacién miltiple es en realidad sélo una combinacién de empaquetado de tuplas y desempaquetado de eecuercias. Conjuntos Python también incluye un tipe de dato para conjuntos. Un conjunto es una colecsién no ordenada y sin elementos repetidos. Los usos basices de éslos incluyen verficacién de pertenencia y elminacién de entrades duplicadas. Los ‘conjuntas también eoportan operaciones matematicas como la unién, interssecién, diferencia, y diferencia simétrica, Les llaves o la funcién set() pueden usarse para crear conjuntes. Noté que para crear un conjunto vacio tenés que usar ‘set (), no { }; esto dltimo crea un diccionario vacio, una estructura de datos que discutiremes en la seccién siguiente. Una pequenia demostracion: >>> canaate ~ (inansens', ‘naranda!, ‘maazana!, ‘pera', ‘'navanda', ‘banana’) So> prune truce # msssnss que 20 senctieron eo aupisoas02 (peat, ‘nansana’, "banana, ‘macanja') >> tnacanja’ 4m canasta @ veritiosctén de pertenencta répida De forma similar alas comprensiones do tas, ost también soportada la comprersion do conjunc: (x for xm febrecedatrat LE x not im ‘abe") Diccionarios ra tho de dato ut Include en Python as el dccionario (ver Tipos intagrados). Las dleclonaros se encuentran a veces en ‘tres lenquajos como “iemorias asociatvas" 0 “arragloe acociatves". A cieroncia do las secuoncas, quo so indoxan mediante un tango numérico, los diecionatios se indexan con claves, que pueden ser cualquier ipo nmulatle; ls cadenas y fumeres slompre puodon sor cies. Les tuplas pueden ucarce como claves al eclaments contienen cadonas, almoros 9 ‘uplas: si una tupia Contene cualquier objeto mutable directa 0 indreciamente, ne puede usarse como clave. No podés usar lstas como claves, ye que las Istas pueden modiicarse usando aslgnacién por Indice, asignacién por secckin, © métodos como append) Yextend Co mejor as penear en un sieconana come Un confinio ne ofcena de pares Save: valor, con ei requeimenta ae que Ine ‘faves soan tnicas (dentro do un elecionaris en parieula). Un par de laves eroan un cicienario vacto: (). Colocar une Ata ‘de pares clave:valer separados por comas entre ls laves aftade pares ciave-vaorinlciies al ciccionaro; esta también es la {ora en que los diecionarcs se prosentan en la sai. Lins operaciones principalas sobre un clecionario son guatdar un valor con una clave y exteaer exe valor dada Ia clave ‘También 98 posible borar un par clave:valor oon de. SI usta una olave que ya est en uso para guardar un valor el valor ‘que estate ascciado con e2a cave 2¢ parce. Ea Un errr extras un valor usando una elave no exatente Hacer Lise (c.eeys()) en un dlecionaro devueive una lista de todas las claves usadas en el dieconatio, en un orden ‘arbliraio (alas querés ordenadas, usd en cambio sorted (cl. keys(|).© Para controlar si una clave esta en el élcionaric, Un pequero ejemplo de use de un decionari poo cet = (asi SS i Gguces) = aaa (eeapets 4138, “act's 4098, "guide's 4227) Soo eenusgsce'y >>> en tel seane!) de> eeattsee') = 0127 D> "Hock! not in tel Elconstuctor diet () clea un dieclonariocrectamente desde secuenelas de pares caver. _Adoms, ls Compronstones de dlcconaros ce pucdon usar pare crear dloconatice dosdo expresionos attuaas de cave y val: ‘Cuando las claves son cadenas simplas, a veces recuila mas acl especicst los pares usando argumentos por palabra 33> det teepent39, quicontn27, Jeck=4090)

También podría gustarte