una seleccionar nueva insertar data con columnas columna agregar python loops

seleccionar - ¿Retroceder utilizando índices en Python?



seleccionar columnas de un dataframe pandas (13)

Estoy tratando de pasar de 100 a 0. ¿Cómo hago esto en Python?

for i in range (100,0) no funciona.


Corto y dulce. Esta fue mi solución al hacer el curso codeAcademy. Imprime una cadena en orden de rev.

def reverse(text): string = "" for i in range(len(text)-1,-1,-1): string += text[i] return string


En mi opinión, este es el más legible:

for i in reversed(xrange(101)): print i,


Generalmente en Python, puede usar índices negativos para comenzar desde la parte posterior:

numbers = [10, 20, 30, 40, 50] for i in xrange(len(numbers)): print numbers[-i - 1]

Resultado:

50 40 30 20 10


Intenté esto en uno de los ejercicios de codeacademy (invertir caracteres en una cadena sin usar invertido ni :: -1)

def reverse(text): chars= [] l = len(text) last = l-1 for i in range (l): chars.append(text[last]) last-=1 result= "" for c in chars: result += c return result print reverse(''hola'')


La mejor manera es usar la función de rango

Caso 1. Cuando sabemos que tenemos cierto número de iteraciones podemos simplemente usar la función de rango como esta

Antes de usar range () permítanme dar una breve descripción de range ()

Se necesitan tres parámetros: el primero es el número inicial el segundo y el último número, excepto esta tercera diferencia entre cada iteración.

for step in range(5,-1,-1): print(step)

Caso 2 cuando tenemos lista y queremos iterar la lista en orden inverso

words = [''cat'',''xat'',''hat'',''mat''] for word in range(len(words)-1,-1,-1): print(words[word])


La respuesta simple para resolver su problema podría ser así:

for i in range(100): k = 100 - i print k


Otra solución:

z = 10 for x in range (z): y = z-x print y

Resultado:

10 9 8 7 6 5 4 3 2 1

Consejo: Si está utilizando este método para contar los índices en una lista, querrá -1 del valor ''y'', ya que sus índices de lista comenzarán en 0.


Pruebe el range(100,-1,-1) , siendo el 3er argumento el incremento a usar (documentado here ).


Siempre puede aumentar el rango y restar de una variable en su caso 100 - i donde i in range( 0, 101 ) .

for i in range( 0, 101 ): print 100 - i


for var in range(10,-1,-1) funciona


Por qué tu código no funcionó

Tu código for i in range (100, 0) está bien, excepto

el tercer parámetro ( step ) es por defecto +1 . Por lo tanto, debe especificar el 3er parámetro en range () como -1 para retroceder.

for i in range(100, -1, -1): print(i)

NOTA: Esto incluye 100 y 0 en la salida.

Hay varias formas.

Mejor manera

Para el modo pythonic, verifique PEP 0322 .

Este es el ejemplo pitónico de Python3 para imprimir de 100 a 0 (incluidos 100 y 0).

for i in reversed(range(101)): print(i)


a = 10 for i in sorted(range(a), reverse=True): print i


for i in range(100, -1, -1)

y alguna solución un poco más larga (y más lenta):

for i in reversed(range(101)) for i in range(101)[::-1]