Це відео не доступне.
Перепрошуємо.

Evite Usar el Bucle FOR en Python (cuando sea posible)

Поділитися
Вставка
  • Опубліковано 15 сер 2024
  • En este video, veremos una forma más rápida de hacer un bucle for en Python.
    ⭐️ Obtén acceso a miles de tutoriales y guías exclusivos de Python, Data Science y más (incluidos los míos) registrándote a Medium con este link: / membership
    😉 Si te gustaría leer una guía de Medium, revisa la guía que creé antes de publicar este video de UA-cam 👉 towardsdatasci...
    🎮 Discord (aquí puedes descargar mi formulario de Python): / discord
    🔥 Curso Automatiza Tu vida con Python: www.udemy.com/...
    🔥 Curso Completo de Data Science en Python: www.udemy.com/...
    🔥 Curso Completo de Web Scraping en Python 8 horas: www.udemy.com/...
    💰 Make money using your Programming & Data Science skills: codelessearnmo...
    ✅ Sígueme en Medium: / frank-andrade
    --------------------
    Contenido del video:
    0:00 El bucle for
    1:11 Funciones incorporadas
    2:10 Vectorización con Numpy
    3:17 Poniendo Numpy a prueba

КОМЕНТАРІ • 46

  • @franciscollaryora2032
    @franciscollaryora2032 Рік тому +6

    Hola Frank, Aveces somos impulsivos y sacamos concluciones erroneas. Decir que el for es lento en python y debe ser evitado , porque si lo reemplazas por el sum (un tipo del fold de programación funcional) va más rápido en el benchmarck no es correcto . Los bucles for no son un riesgo de ineficiencia por ellos mismos, es la forma en la que lo usamos que lo hacen ir más o menos rápido.

    • @David123456789345
      @David123456789345 Рік тому

      Explicate :0

    • @franciscollaryora2032
      @franciscollaryora2032 Рік тому +2

      @@David123456789345 Python es un lenguaje de programación interpretado por la python virtual machine, Nunca programas en python o java si necesitas rapides. Lo haces en C. A controladores de motores los he programado en C. Es correcto que en python usas modulos precompilados hechos en C++ , con interfaces que permiten unir a python y usar esos modulos. Asi se trabaja por ejemplo, en GNU radio, en el procesamiento digital de señales. Usar esos modulos a cambio de codigo de python mejora la velocidad porque no usas la maquina virtual de python. Una funcion de alto nivel no es mejor que un bucle for por si sola. Los modulos de c++ nunca mejoraran el orden de tu algoritmo, En este caso encuentra una forma de reducir el costo depasar de un loop invariant a otro.Pero.. ¿El for debe ser evitado? mi respuesta es no. Si busco velocidad python debe ser evitado.

    • @fabiananavarro5556
      @fabiananavarro5556 Рік тому

      @@franciscollaryora2032 me imagino que debe ser node xq se usa con react que se especializa en componentes rapidos.. pero no se quiero a opinion tuya, parece que sabes mas que yo x lejos

    • @franciscollaryora2032
      @franciscollaryora2032 Рік тому

      @@fabiananavarro5556 Para backend use el lenguaje que le sea más comodo. Creo que Go es el más rapido. Pero si nodejs, java o python es su mejor herramienta usela .

  • @oscarojas
    @oscarojas Рік тому +7

    Ojalá en la vida real usemos FOR solo para sumar numeritos de una secuencia.

  • @danngoga
    @danngoga Рік тому +8

    Creo que este video lo vi en un canal de habla inglesa, esta bueno que lo hayas traducido. También estaría bueno hacer uno de 'strings'

  • @zeihuro
    @zeihuro Рік тому +15

    Parece bueno los ejemplo, pero no lo son, ya que usastes cosas numericas, no hay ejemplo de str, o de diccionarios, claro eso numpy lo hace bien al ser numeros.

  • @eduardoroque3239
    @eduardoroque3239 Рік тому +2

    En mi humilde opinión creo que no estás considerando otros factores. Por ejemplo, hasta donde sé, python está desarrollado en C. Y en C, usando OMP se reduce considerablemente el tiempo de ejecución, por ejemplo en la suma de los valores de un rango utilizando #pragma omp reduce. Pero esto no quiere decir que de por si el for incremente considerablemente el tiempo de ejecución, sino que estás realizando una comparación desigual.

  • @matiozky4342
    @matiozky4342 Рік тому +2

    Hola, primero que nada muy buen video, felicidades :). A modo de sugerencia, creo que sería interesante explicar la diferencia matemática de las operaciones mostradas (complejidad de los algoritmos), un bucle for tiene una complejidad muy diferente a los algoritmos utilizados por numpy o otras librerías. Al estudiar la algorítmica, notamos que la diferencia de tiempo entre for y las otras funciones no se debe al lenguaje en el que están escritas, sino, que se deben a la complejidad del algoritmo. En la documentación oficial de numpy o otras librerías como scipy especifica que algoritmo usa para resolver las operaciones (de hecho en algunas funciones como scipy.optimize.scalar_root, se puede elegir entre que algoritmo usar dependiendo de lo que necesites calcular), un saludo y felicidades por el video 😁

    • @David123456789345
      @David123456789345 Рік тому +1

      Para este caso no es verdad que sea por algoritmia, no existe una complejidad menor para calcular el promedio que O(n) es imposible algorítmicamente, ya que el promedio es la suma de todas las partes sobre el tamaño, necesitas todas las partes ósea inevitablemente un for (así sea interno). La respuesta está en algo llamado JIT y la definición de interpretado y compilado

  • @zebus3d
    @zebus3d Рік тому +5

    Probaste los loop for comprehension?, Están mejor optimizados que los for estándar. Un saludo, y felicidades por el video!!.

    • @aldomalaca
      @aldomalaca Рік тому

      Yo los uso, pero no tengo ni idea cuando se trata de usar uno dentro de otro, por lo que tengo que optar por la versión original. Aunque bueno hay ocasiones en que los loops necesitan tener muchas cosas y ahí no son tan combeniente s usar los comprimidos tampoco.

  • @lucasmarjona
    @lucasmarjona Рік тому

    excelente. Lo busqué un par de días hasta que encontré el video jiji. Saludos.

  • @heavymetalmixer91
    @heavymetalmixer91 Рік тому

    Por qué de todas las opeeraciones básicas que Python tiene una de bucle es la única que no está escrita en C por debajo? O hay más?

  • @humbertosarmiento9058
    @humbertosarmiento9058 Рік тому +12

    Excelente infomación. Estaría increíble un video o serie donde muestres estas optimizaciones que ya existen en las diferentes librerías disponibles, como los if, funciones lambda, etc. De 0 a PRO con el mejor código optimizado. Gracias por el aporte, saludos.

  • @oscarmora2105
    @oscarmora2105 Рік тому

    Una duda, soy nuevo en python, si necesito "depurar" una lista de objetos traído de pymongo por ej:
    For doc in db.user.find({}):
    If user not in users:
    .....
    Cuál sería la mejor manera para hacer dicho ciclo? Por qué veo que cuando me regresa muchos documentos se tarda más de 4 segundos mi endpoint y pues es mucho tiempo para la respuesta, gracias, ojalá alguien me pueda ayudar 🙌

  • @alejandrohdo
    @alejandrohdo Рік тому

    Interesante, que tal seria for vs Generadores o Comprehensions o iter ?, creo seria como una alternativa correcta en vez de irse a Numpy

  • @gatovsky
    @gatovsky Рік тому +2

    Qué programemos en C, dice :3

  • @andresfelipepizoluligo1471
    @andresfelipepizoluligo1471 Рік тому

    Muchas Gracias por el vídeo. Me ayuda a entender más sobre está industria.

  • @alexanderbatres8464
    @alexanderbatres8464 Рік тому

    Very helpful..thanks a lot.

  • @nao997
    @nao997 Рік тому +1

    Pensaba que también habría recursividad

  • @freddylalangui8349
    @freddylalangui8349 Рік тому

    Todo bien pero as echo solo ejemplos de suma de valores ahí de ley hay mejores opciones pero usa para manipular información de una lista

  • @JuanSalazar-jh2le
    @JuanSalazar-jh2le Рік тому

    Excelente video !

  • @higiniofuentes2551
    @higiniofuentes2551 Рік тому

    El resultado del bucle con las funciones numpy es impresionante!
    He leído también que se puede incrementar la velocidad en IF's/ELSE's. Alguna solución? Gracias!

  • @CristianGarcia-bl6rx
    @CristianGarcia-bl6rx Рік тому +6

    "Click bait", un nombre como "for vs numpy" hubiese evitado perder mi tiempo. Es un hecho que python es lento, pensé que había una nueva función similar a for y que hacía lo mismo y mejor.

  • @johangv9000
    @johangv9000 Рік тому +1

    Buen dato y yo siempre creí que usar FOR era de gente pro, soy principiante.

    • @humbertosarmiento9058
      @humbertosarmiento9058 Рік тому +2

      Si, justo el detalle está en identificar qué cosas ya están optimizadas por las librerías disponibles. El principio para resolver un problema esta bien hacerlo así, con un simple “for” como nos lo enseñan en el colegio para después optimizar.

    • @thepycoachES
      @thepycoachES  Рік тому +1

      Todos los pros, fueron principiantes alguna vez

  • @aldolunabueno2634
    @aldolunabueno2634 Рік тому

    Interesante.

  • @dmitry2
    @dmitry2 Рік тому +4

    pero, no entiendo... son operaciones numéricas. A quien le importa usar for para eso. Esperaba ver algo util.

    • @aldomalaca
      @aldomalaca Рік тому +1

      A mi me gustó por que no sabia que se podrían ahorrar bucles en ciertas operaciones sencillas. Lo que sí entiendo es que el video es click bait y te haga pensar que te va a mostrar un método que va a funcionar para todos los casos y que por eso la gente se sienta decepcionada.

  • @javierAvilaG
    @javierAvilaG Рік тому

    man I missed this kind of tutorials lol. Great work here, thanks!!!

  • @higiniofuentes2551
    @higiniofuentes2551 Рік тому

    Muchas gracias por este vídeo tan útil!

  • @scrash9965
    @scrash9965 Рік тому

    all workеd

  • @arthurvladimirlovecraft8763

    finally a legit bot that i can actually make a return

  • @irvincamacho996
    @irvincamacho996 Рік тому

    god bless u xdd

  • @diego.coder26
    @diego.coder26 Рік тому

    Frank algunos tips para crecer en medium?

    • @thepycoachES
      @thepycoachES  Рік тому +1

      Cosas que deberias de hacer al inicio:
      1.Tratar de que tus articulos sean publicadion en publicaciones activas con una buena cantidad de seguidores.
      2. Leer mucho
      3. "Copiar" a gente exitosa en la plataforma