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

Поделиться
HTML-код
  • Опубликовано: 1 ноя 2024

Комментарии • 47

  • @lucasmarjona
    @lucasmarjona 2 года назад

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

  • @franciscollaryora2032
    @franciscollaryora2032 2 года назад +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 2 года назад

      Explicate :0

    • @franciscollaryora2032
      @franciscollaryora2032 2 года назад +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 2 года назад

      @@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 2 года назад

      @@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 .

  • @danngoga
    @danngoga 2 года назад +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'

  • @oscarojas
    @oscarojas 2 года назад +7

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

  • @andresfelipepizoluligo1471
    @andresfelipepizoluligo1471 2 года назад

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

  • @yamilgallardoyunes8217
    @yamilgallardoyunes8217 2 года назад +1

    Excelente video amigo! Te dejo un saludo enorme y un LIKE gigante. Gracias por compartir

  • @alexanderbatres8464
    @alexanderbatres8464 2 года назад

    Very helpful..thanks a lot.

  • @eduardoroque3239
    @eduardoroque3239 2 года назад +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.

  • @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

  • @heavymetalmixer91
    @heavymetalmixer91 2 года назад

    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?

  • @matiozky4342
    @matiozky4342 2 года назад +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 2 года назад +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

  • @javierAvilaG
    @javierAvilaG 2 года назад

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

  • @oscarmora2105
    @oscarmora2105 2 года назад

    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 🙌

  • @zeihuro
    @zeihuro 2 года назад +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.

  • @humbertosarmiento9058
    @humbertosarmiento9058 2 года назад +13

    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.

  • @zebus3d
    @zebus3d 2 года назад +5

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

    • @aldomalaca
      @aldomalaca 2 года назад

      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.

  • @JuanSalazar-jh2le
    @JuanSalazar-jh2le 2 года назад

    Excelente video !

  • @gatovsky
    @gatovsky 2 года назад +2

    Qué programemos en C, dice :3

  • @nao997
    @nao997 2 года назад +1

    Pensaba que también habría recursividad

  • @freddylalangui8349
    @freddylalangui8349 2 года назад

    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

  • @higiniofuentes2551
    @higiniofuentes2551 2 года назад

    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!

  • @johangv9000
    @johangv9000 2 года назад +1

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

    • @humbertosarmiento9058
      @humbertosarmiento9058 2 года назад +3

      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  2 года назад +1

      Todos los pros, fueron principiantes alguna vez

  • @higiniofuentes2551
    @higiniofuentes2551 2 года назад

    Muchas gracias por este vídeo tan útil!

  • @aldolunabueno2634
    @aldolunabueno2634 2 года назад

    Interesante.

  • @diego.coder26
    @diego.coder26 2 года назад

    Frank algunos tips para crecer en medium?

    • @thepycoachES
      @thepycoachES  2 года назад +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

  • @arthurvladimirlovecraft8763
    @arthurvladimirlovecraft8763 2 года назад

    finally a legit bot that i can actually make a return

  • @irvincamacho996
    @irvincamacho996 2 года назад

    god bless u xdd

  • @scrash9965
    @scrash9965 2 года назад

    all workеd

  • @CristianGarcia-bl6rx
    @CristianGarcia-bl6rx 2 года назад +5

    "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.

  • @dmitry2
    @dmitry2 2 года назад +4

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

    • @aldomalaca
      @aldomalaca 2 года назад +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.