vamos a suponer que tengo una lista como esta:Python usando enumerar dentro de la lista de comprensión
mylist = ["a","b","c","d"]
para obtener los valores impresos junto con su índice puedo usar la función de Python enumerate
como esto
>>> for i,j in enumerate(mylist):
... print i,j
...
0 a
1 b
2 c
3 d
>>>
Ahora , cuando trato de usarlo dentro de un list comprehension
me da este error
>>> [i,j for i,j in enumerate(mylist)]
File "<stdin>", line 1
[i,j for i,j in enumerate(mylist)]
^
SyntaxError: invalid syntax
Entonces, mi pregunta es: ¿cuál es la forma correcta de usar enumerar dentro de la lista de comprensión?
No es obligatorio ser una tupla. Cualquier expresión que use i y j que devuelva un valor hará – Alvaro
el uso de la enumeración es excelente, ¿qué tal si lo hace más eficiente usando itertools – Pramit
? Recuerde que una tupla está compuesta por ',' ** not ** the '()' . Entonces "poner' i, j' dentro de una tupla "no tiene sentido, ya que' i, j' ya es una tupla! El problema es que el analizador comp de la lista necesita los parens para el grupo de instrucciones. – cowbert