Estructuras de Datos en Python: Guía Rápida
Estructuras de Datos en Python: Guía Rápida
General tipos escalares Intercambiar variables b,a=a,b Invertir una cadena str1[::-1]
str1= r'this\f?ff' † Los tipos de secuencia incluyen 'str', 'array', 'tuple', 'list', etc. •Set operations :
• El formateo de cadenas se puede hacer de varias maneras TUPLA Unión (también conocido como 'o') set1|set2
Secuencia unidimensional, de longitud fija e inmutable Notación list1[inicio:parar] Intersección (también conocido como 'y') conjunto1&conjunto2
'%.2f %shaha$%d'
str1=template% (4.88, 'hola',2) de objetos de Python de CUALQUIER tipo. lista1[inicio:fin:paso] Diferencia conjunto1-conjunto2
§
(Si se usa el paso) Diferencia Simétrica (también conocido como 'xor')conjunto1^conjunto2
Funciones orientado a objetos manejo de excepciones
Python se pasa por referencia, argumentos de función • Aplicación :
proGramminG 1. Forma Básica :
se pasan por referencia. 'objeto' es la raíz de todos los tipos de Python intentar
sorted(set('abc bcd')) => [' ' ..
• Forma básica : ["a","b","c","d"] 2. Todo (número, cadena, función, clase, módulo, exceptValueErrorase:
devuelve caracteres únicos ordenados etc.) es un objeto, cada objeto tiene un 'tipo'. Objeto impresora
deffunc1(argPos1,argClave1= una variable es un puntero a su ubicación en la memoria.
1, ..): excepto (TypeError, AnotherError):
3. Zippairs agrupa elementos de una serie de listas, tuplas o 3. Todos los objetos tienen conteo de referencias. ..
otras secuencias para crear una lista de tuplas : excepto:
Nota: [Link](5) =>x ..
zip(seq1,seq2) => finalmente:
• Los argumentos de palabras clave MUST seguir a los posicionales a=5,b=a .. # limpiar, por ejemplo, cerrar la base de datos
argumentos. [('sec1_1', 'sec2_1'), (..), ..]
Esto crea una 'referencia' al objeto en el 2. Lanzar excepción manualmente
• Python por defecto NO es "evaluación perezosa", el lado derecho de =, por lo tanto tanto a como b apuntan a 5
las expresiones se evalúan de inmediato. • Zip puede tomar un número arbitrario de secuencias.
Sin embargo, el número de elementos que produce es raise AssertionError# falla de aserción
[Link](5) => x+2 elevar SystemExit solicitar salida del programa
• Mecanismo de Llamada a Función : determinado por la secuencia 'más corta'.
del(a); [Link](5) =>x+1 raise RuntimeError('Error message :
1. Todas las funciones son locales al nivel del módulo • Aplicación: Iterar simultáneamente sobre múltiples ..')
alcance. Ver sección 'Módulo'. sequences : [Link] Básica de Clase :
2. Internamente, los argumentos se empacan en una tupla fori, (a,b) en
y dict, la función recibe una tupla 'args' y
diccionario 'kwargs' y desempaquetar internamente.
enumerar(zip(seq1,seq2)):
classMiObjeto(object):
'self' es equivalente a 'this' en Java/C++ lista, conjunto y diccionario
• Uso común de 'Las funciones son objetos': • Descomprimir - otra forma de pensar en esto es
convertir una lista de filas en una lista de columnas.
def __init__(self,nombre):
[Link]=name
comprensiones
deffunc1(ops= [[Link],user_ defmemberFunc1(self,arg1): Azúcar sintáctica que hace que el código sea más fácil de leer y escribir
definir_func,..],..): seq1,seq2= zip(*zipOutput)
para función en ops: .. 1. Comprensiones de listas
value= function(value) @estático
4. Reitera en reversa sobre los elementos de una secuencia • Forma concisamente una nueva lista filtrando los elementos
defclassFunc2(arg1): de una colección y transformando los elementos
VALORES DE RETORNO en orden inverso. pasando el filtro en una expresión concisa.
..
No se devuelve ninguno si se alcanza el final de la función
list(reversed(range(10)))* obj1=MyObject('name1') • Forma básica :
without encountering a return statement. obj1.memberFunc1('a')
[exprporvalorencolecciónsicondición]
• Varios valores devueltos a través de UN objeto tupla *reversed() devuelve el iterador,lista()hace MyObject.classFunc2('b')
es una lista. Un atajo para :
retornar (valor1, valor2) 5. Herramienta interactiva útil :
result = []
valor1,valor2= func1(..)
dir(variable1)# lista todos los métodos disponibles en forvalincollection:
FUNCIONES ANÓNIMAS (TAMBIÉN CONOCIDAS COMO LAMBDA) control y flujo el objeto si condición:
[Link](expr)
• ¿Qué es una función anónima?
Una función simple que consiste en una sola instrucción. 1. Operadores para condiciones en 'si entonces': La condición del filtro se puede omitir, dejando solo el