Dada una listaCortando una lista utilizando una variable, en Python
a = range(10)
Usted puede cortar usando afirmaciones tales como
a[1]
a[2:4]
Sin embargo, quiero hacer esto en base a una variable establecida en otros lugares en el código. Puedo hacer esto fácilmente para el primero
i = 1
a[i]
¿Pero cómo puedo hacer esto para el otro? He intentado indexar con una lista:
i = [2, 3, 4]
a[i]
Pero eso no funciona. También he intentado usar una cadena:
i = "2:4"
a[i]
Pero eso tampoco funciona.
¿Esto es posible?
Mi caso de uso involucraba un análisis detallado de html, tratando de encontrar el último elemento en esta tabla html. El código parecía 'last_row = list (reversed (parsed_html_rows [-2: -1]))' En la revisión del código, nos dimos cuenta de que tenía varios de estos 'magic ranges' en el código para extraer varias cosas. Darles un nombre hace que sea más fácil para mí y para el crítico. 'Last_row_indices = slice (-2, -1)' y 'last_row = list (reverseed (rows [last_row_indices])) # no más wtf'ing sobre por qué - 2: -1 –