Las listas en python pueden ser muy maleables, una de las formas de poder manipularlas es combinarlas con bucles y operadores como este ejemplo: mi_lista=[1,2,3,4,5] print((x * 2 for x in mi_lista)) >>> [2,4,6,8,10] Uso avanzado de DiccionariosSimilar a las listas en esta usamos los valores y las llaves de cada item. Tambien se puede manipular entre estas. mi_dicc={'a':1, 'b':2, 'c':3, 'd':4} resultado = (k: v * 2 for k,v i n mi_dicc.iteritem())) >>>> {'a':2, 'b':4, 'c':6, 'd':8} Que son los setsEn terminos matemáticos un set (conjunto) es una colección de elementos únicos. En Python podemos aplicar mucho de la teoría de conjuntos y realizar operaciones como uniones, intersecciones, producto cartesiano etc. Ejemplo de una union:lista_a = ['a','b','c'] lista_b = ['b','d','c'] print(set(lista_a) | set(lista_b)] >>> set(['a','c','b','d']) Interseccion: print(set(lista_a) & set(lista_b)) >>> set(['c','b']) print(set(lista_a) - set(lista_b)) >>> set(['a']) Piensa en todas las colecciones en python como si fueran sets (conjuntos). Según una subcategoria de la teoría de grupos, la teoría de colecciones se basa mucho en la aplicación de funtores las cuales llevan de objetos a otros objetos, a este proceso se le conoce como morfismo. En python esto sucede mucho en relación con las compresión de listas. Uso de LambdasLa definición de lambdas en Python es como una minifunción no relacionada (unbounded) esto quiere decir que a diferencia de una función tradicional, la cual relacióna la función a un módulo o instancia de clases. Las funciones lambdas usualmente funcionan solo una vez, durante el proceso de otra función, pero su relación terminará ahi mismo. Veremos un ejemplo de esto a continuación: mi_lista = (1,2,3,4,5,6) def mi_func (item): returns item + 2 print([mi_func(x) for x in mi_lista]) >>> [2,4,6,8,10,12] otra_func = lambda x: x +2 print([otra_func(x) for x in mi_lista]) >>> [2,4,6,8,10,12] Usando Zip en ejemplos complejos
|