¿Como podriamos tener este bucle en python?
Código:
Un saludo! for($i=0; $i<$count; $i++){ for($j=$count-1; $j>$i; $j=$j-1)
| ||||
Respuesta: Bucles en Python Puedes hacerlo con whiles:
Código Python:
Ver original O puedes hacerlo con fors.
Código Python:
Ver original |
| ||||
Respuesta: Bucles en Python Perfecto! Muchisimas gracias. Sólo necesitaba un poco de luz al respecto. Parece que voy entendiendo como funcionan los bucles...
__________________ |
| |||
Respuesta: Bucles en Python Cita:
Iniciado por razpeitia O puedes hacerlo con fors.
Código Python:
Ver original si no te queda claro, (en un principio los for no eran del todo claros para mi), los ciclos lo que hacen es recorrer listas, la función range generará una lista dependiendo de los parámetros y la i y j recorrerán esa lista, como los ciclos foreach en .NET, o los for each en JAVA y ArrayList. Para entender mejor la función range, puedes encontrar la documentación aqui Para mejorar el rendimiento de tu aplicación cuando generes listas muy grandes puedes usar la función xrange, la cual hace lo mismo, pero ayuda a ahorrar un poco de memoria
__________________ pensando en Bytecodes |
| ||||
Respuesta: Bucles en Python El bucle hace exactamente lo que quería. Y además comprendo su funcionamiento, asi que perfecto. Respecto a la funcion xrange desconocía su existencia, ya que soy nuevo con este lenguaje. No obstante puede que me sea de mucha ayuda, ya que trabajo con matrices de muchos elementos 50.000 x 50.000. Le echare un vistazo. Muchas gracias de nuevo.
__________________ |
| |||
Respuesta: Bucles en Python Simplemente la función xrange utiliza un tipo especial de dato, no como el range que genera listas de números normales, lo cual en tu caso, podría tener casos críticos por el volumen de informacion que tienes, (estamos hablando de 2.500.000.000 datos)
__________________ pensando en Bytecodes |
| ||||
Respuesta: Bucles en Python En efecto, acabo de hacer la prueba sustituyendo todas mis funciones range (que trataban con numeros enteros) por funciones xrange y he conseguido un speed up importante!. Muchas gracias de nuevo.
__________________ |
| |||
Respuesta: Bucles en Python la diferencia es simple: range genera la lista entera antes de devolverla, xrange es un generador: un tipo de funcion que devuelve un valor y puede ser llamada luego para que continúe desde donde se quedó. Ejemplo, xrange con un solo parámetro podría implementarse como:
Código Python:
Ver original http://www.python.org/doc//current/r...ld-expressions Saludos. |
Etiquetas: |