Mostrando entradas con la etiqueta Capítulo 4. Mostrar todas las entradas
Mostrando entradas con la etiqueta Capítulo 4. Mostrar todas las entradas
jueves, 24 de enero de 2019
Videoreceta Python No. 4-9: Crear un Archivo ZIP
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 4-8: Guardar Datos como Objetos
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 4-5: Crear una Carpeta
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
miércoles, 23 de enero de 2019
Videoreceta Python No. 4-2: Mover un Archivo
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
Videoreceta Python No. 4-1: Copiar un Archivo
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta,
Videotutorial
Ubicación:
Bogotá, Bogota, Colombia
miércoles, 27 de junio de 2018
Receta Python 3 No. 4-16: Remplazar un Ciclo while Infinito por un Iterador
1. Problema
Reemplazar la extructura de ciclo infinito while por un objeto iterador.
2. Solución
Este tipo de situación -el uso de ciclos o loops infinitos- normalmente se usa en casos donde la iteración no cumple un patrón patricular; dígase: menús, lectura o escritura de streams, y relacionados (Beazly, Jones, 2013).
Como alternativa, la función iter() permite controlar el final de un ciclo de este género por medio de un valor bandera o centinela. Resulta ser una forma compacta frente al clásico ciclo infinito while True.
3. Código Python 3
Archivo Python iteracion-con-iter.py [enlace alternativo]:
En este último caso el programador puede omitir el valor centinela o bandera que indica la terminación de la iteración, en este caso la expresión b''.
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
Receta Python 3 No. 4-15: Iterar en Orden sobre Dos Secuencias Ordenadas
1. Problema
A partir de dos colecciones previamente ordenadas, iterar sobre los elementos siguiendo el orden conjugado de ambas.
2. Solución
El módulo heapq ofrece el método merge() que permite unir y ordenar dos colecciones. A partir de esta fusión ordenada se puede iterar los elementos en orden (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
1 2 3 4 6 7 9 10 13 17 18
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
martes, 26 de junio de 2018
Receta Python 3 No. 4-14: Allanar Secuencias Anidadas
1. Problema
Allanar (flatten) una colección con secuencias anidadas.
2. Solución
Este proceso se puede lograr a través de una función generadora recursiva. En esta tarea se invoca la función recursiva usando la expresión yield from funcion_generadora() (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
1
a
cat
2
3
dog
4
5
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
Receta Python 3 No. 4-13: Creación de Tuberías de Procesamientos de Datos
1. Problema
Crear una tubería (o en inglés, pipeline) para el procesamiento de datos.
2. Solución
Para procesar grandes volúmenes de datos de forma secuencial usando tuberías (o pipelines) se recurre a funciones generadores (Beazly, Jones, 2013).
Este tipo de técnica es tremendamente podereosa para otras situaciones como parseo, lectura en tiempo real de fuentes de datos, solicitud recurrente de datos por algún canal de comunicación, entre otras.
3. Código Python 3
Este programa se puede probar sobre el directorio www de un servidor Web (e.g., Apache). Al final de la ejecución se obtendrá la cantidad de bytes que ocupan un conjunto de líneas que cumplen determinado patrón.
Lo interesante de este programa es la operación secuencial de conjunto de archivos por medio de tuberías.
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
lunes, 25 de junio de 2018
Receta Python 3 No. 4-12: Iterar sobre los Elementos de Diferentes Colecciones
1. Problema
Iterar sobre todos los elementos de diferentes colecciones.
2. Solución
La función chain() del módulo itertools permite solucionar este problema simplificando la sintaxis requerida por medio un único ciclo for (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python iterar-multiples-colecciones.py [enlace alternativo]:
2
3
5
7
11
Mishkin
Fomma
Nesvanova
Rodión
Fiodor
Prueba de ejecución:
2
3
5
7
11
Mishkin
Fomma
Nesvanova
Rodión
Fiodor
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
domingo, 24 de junio de 2018
Receta Python 3 No. 4-11: Iterar por Múltiples Secuencias al Mismo Tiempo
1. Problema
Iterar por múltiples secuencias de forma simultánea.
2. Solución
La función incorporada zip() permite realizar esta operación de iteración por múltiples secuencias (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
Punto: (2, 4)
Punto: (3, 6)
Punto: (5, 8)
Punto: (7, 9)
Punto: (11, 10)
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
sábado, 23 de junio de 2018
Receta Python 3 No. 4-10: Iterar sobre los Índices y Valores de una Secuencia
1. Problema
Iterar por cada uno de los índices y valores de una secuencia.
2. Solución
Con la función enumerate() se obtienen los índices y valores de una secuencia. Esta función es parte de la librería estándar de Python (Beazly, Jones, 2013).
3. Código Python 3
Archivo Python indices-valores.py [enlace alternativo]:
Índice: 0 - Valor: Raskolnikov
Índice: 1 - Valor: Michkin
Índice: 2 - Valor: Fomma
Prueba de ejecución:
Índice: 0 - Valor: Raskolnikov
Índice: 1 - Valor: Michkin
Índice: 2 - Valor: Fomma
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
martes, 19 de junio de 2018
Receta Python 3 No. 4-9: Iterar a través de las Posibles Combinaciones y Permutaciones de un Conjunto de Elementos
1. Problema
Iterar a través de todas las posibles combinaciones y permutaciones generadas a partir de un conjunto de elementos.
2. Solución
El módulo itertools provee el método permutations() para la generación de permutaciones. En una permutación el orden sí importa, aunque se pueden repetir elementos por cada subconjunto pero en diferente orden.
Por su parte, las combinaciones se generan por medio del método combinations() (del mismo módulo). En una combinación el orden no importa, pero los elementos no se pueden repetir (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
Permutaciones:
('Python', 'PyCharm', 'Programming')
('Python', 'Programming', 'PyCharm')
('PyCharm', 'Python', 'Programming')
('PyCharm', 'Programming', 'Python')
('Programming', 'Python', 'PyCharm')
('Programming', 'PyCharm', 'Python')
Combinaciones:
('Python', 'PyCharm')
('Python', 'Programming')
('PyCharm', 'Programming')
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
lunes, 18 de junio de 2018
Receta Python 3 No. 4-8: Omitir los Primeros Elementos de un Objeto Iterable
1. Problema
Omitir o descartar los primeros elementos de un objeto iterable.
2. Solución
A través del método drowhile() del módulo itertools es posible descartar los primeros elementos que cumplan con un predicado (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
Python
Programming
Software
Innovation
Source code
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
viernes, 15 de junio de 2018
Receta Python 3 No. 4-7: Usar una Sección de un Objeto Iterador
1. Problema
Usar una sección (slice) de un objeto iterador o función generadora.
2. Solución
El módulo itertools provee la función islice(); esta función facilita obtener una sección de un elemento iterador o generador.
En su defecto, un iterador o generador no cuenta con un mecanismo para la definición de una sección, pero a través de la función islice() es posible establecer índices para una sección particular. (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
10
11
12
13
14
15
16
17
18
19
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
Receta Python 3 No. 4-6: Definir una Función Generadora con Estado Extra
1. Problema
Definir una función generadora que contenga un dato extra de interés.
2. Solución
Para lograr esta tarea se tiene que implementar el método __iter__(). Esto va a permitir exponer datos adicionales (Beazly, Jones, 2013).
3. Código Python 3
Prueba de ejecución:
1:Python
2:Programming
3:Software
4. Literatura & Enlaces
Beazly D, Jones B. K. (2013). Python Cookbook, Third Edition. United States: O'Reilly Media.
O
Etiquetas:
Capítulo 4,
Programación,
Programming,
Python,
Python 3,
Receta
Ubicación:
Bogotá, Bogota, Colombia
Suscribirse a:
Entradas (Atom)