‫Hablemos de la última reducción, y esta es un poco avanzada y puede ser un poco difícil de entender al
‫principio, pero es bueno saber que existe y puedes aprender más sobre ella practicándola y
‫leyendo alguna documentación sobre tu propio.
‫Ahora, reducir no viene como parte de la función incorporada de Python.
‫Para que podamos usar reduce, tenemos que hacer algo como esto.
‫Ahora, nunca ha visto esto antes y esto es algo a lo que llegaremos en la sección de módulos
‫del curso.
‫Pero esencialmente lo que está sucediendo aquí es cuando descargamos Python Interpreter y el paquete Python, en nuestro
‫caso, este Reppel ya lo hace por nosotros.
‫Podemos importar algo de estas fotos.
‫Y las herramientas funcionales son lo que llamamos un cinturón de herramientas que podemos usar para herramientas funcionales que vienen con la instalación
‫de Python.
‫Y a partir de ahí, hay una función específica que podemos importar.
‫Entonces estoy diciendo, hey, de las herramientas de función de este cinturón de herramientas, quiero que importe la función de reducción para
‫que podamos usarla en nuestro código nuevamente, algo que cubriremos más adelante en el curso.
‫Entonces, por ahora, solo copie y pegue esta línea.
‫A continuación, eliminemos algunos de nuestra lista y usemos reducir.
‫Ahora, con Reducir, vamos a necesitar algunas cosas.
‫Primero.
‫Necesitamos la función.
‫Y luego necesitamos la secuencia o los datos.
‫Entonces, ¿cuál será la función? En primer lugar, nuestros datos serán nuestra mi lista, así que
‫voy a decir mi lista y la función reducida nos permite hacer algo interesante.
‫Puedo darle, digamos, una función.
‫Y esta función, la llamaremos acumulador.
‫Y el acumulador toma dos parámetros, y recuerda, este lo va a llamar reduce, entonces reduce se va a
‫encargar de dar estos dos parámetros a partir de los datos que le damos, que
‫es mi lista.
‫El primer parámetro va a ser lo que llamamos acumulación, o en mi caso, el Axi.
‫Y luego aquí va a estar el artículo.
‫Ahora, lo que se pone realmente interesante es que cuando pasemos por primera vez mi lista de la reducción, obtendremos el
‫primer elemento.
‫El primer elemento estará en este parámetro.
‫Sin embargo, ¿qué es este axi inicialmente?
‫Bueno, si quito los corchetes aquí.
‫Y así reduces ves que tenemos la función.
‫La secuencia, que en nuestro caso será nuestra lista y luego la inicial y la inicial es lo que va a ser el
‫acumulador.
‫Entonces, una vez más, digamos que vamos a tener la función de acumulador que aún no vamos a
‫llamar.
‫Reducir va a hacer eso por nosotros.
‫Le voy a dar la lista.
‫O los datos sobre los que queremos iterar y luego les daré un valor inicial de cero.
‫Entonces tenemos tres.
‫Parámetros aquí o tres argumentos que le demos.
‫Permítanme cerrar los corchetes donde lo agrandan un poco y asegurarme de que puedo deletrear.
‫Ahora, aquí, el primer elemento será el primer elemento de mi lista.
‫Y luego el acumulador se pondrá por defecto en cero si no le damos nada o, en nuestro caso, hemos dicho
‫que el acumulador va a ser cero.
‫Entonces, lo primero que haremos es devolver el acumulador más el artículo.
‫Bien, repasemos esto uno por uno.
‫De hecho, voy a imprimir aquí el acumulador y el elemento para que podamos ver y luego ejecutaré
‫este código.
‫La línea 15 en el objeto no es iterable.
‫Y esto es un poco complicado, pero en realidad ya no necesitamos la lista porque reducir va a hacer algo
‫interesante para nosotros.
‫Así que eliminemos esto por ahora y devolvamos lo que la reducción nos dé.
‫Y la impresión si hago clic, corro.
‫Mira eso.
‫Muy bien, ¿qué acaba de pasar?
‫Echemos un vistazo.
‫Reducir.
‫Nos permite reducir algo, algún tipo de valor del iterable que le damos.
‫Así que vayamos paso a paso.
‫Tenemos mi lista y mi lista se aplicará al acumulador a través de reducido.
‫El acumulador se va a llevar mi lista.
‫Y lo primero que va a hacer en la primera pasada es decir, oye, ¿cuál va a ser mi
‫acumulador?
‫Lo pondré en cero.
‫Entonces, el primer paso a través del acumulador será cero.
‫Un elemento va a ser uno, que es lo que vemos aquí.
‫Y lo vamos a sumar cero más uno.
‫Así que ahora hemos devuelto uno.
‫Ahora, el segundo pase a.
‫¿Qué va a pasar la segunda pasada por el acumulador va a ser qué, esta vuelta?
‫Entonces, el próximo paso a lo que sea que se devuelva se completará en el acumulador, por lo que en
‫nuestro caso, cero más uno será uno.
‫Un elemento será dos, uno más dos será tres, por lo que uno más dos es igual a tres.
‫Entonces, la próxima vez que el acumulador será tres.
‫Y mientras pasamos, también habrá tres, como pueden ver aquí.
‫Y tres más tres son seis.
‫Acabamos de acumular todos estos valores y devolvimos uno solo.
‫Número seis, hemos reducido nuestra lista a algún tipo de datos que hemos manipulado usando en nuestro caso,
‫acumulador.
‫Pero podría haber hecho lo que quisiera aquí.
‫Entonces, si, por ejemplo, cambio esto para que no sea igual a 10, ¿qué crees que pasará si hago clic en ejecutar?
‫Obtengo 16 porque comencé mi acumulador inicial con 10, entonces eran 10 más uno, y así sucesivamente.
‫Ahora se reduce realmente, muy poderoso porque puedes hacer muchas cosas con él.
‫Es realmente muy flexible.
‫Y, de hecho, debajo del capó, funciones como Filtro de mapa utilizan esta reducción debajo del capó para que pueda
‫crear su propio mapa y función de filtro utilizando reducir.
‫Nuevamente, reducir es un poco difícil de entender al principio, y se necesita un poco de práctica para usarlo
‫realmente.
‫Pero es una de esas cosas que a los programadores avanzados les encanta, y verás más y más a lo largo
‫de tu carrera a medida que vayas mejorando cada vez más.
‫Te veo en el proximo.
‫Adiós.