
talisina
Me topé con el siguiente código:
for i, a in enumerate(attributes):
labels.append(Label(root, text = a, justify = LEFT).grid(sticky = W))
e = Entry(root)
e.grid(column=1, row=i)
entries.append(e)
entries[i].insert(INSERT,"text to insert")
no entiendo el i, a
bit, y buscando información sobre for
no produjo ningún resultado útil. Cuando intento y experimento con el código me sale el error:
ValueError: necesita más de 1 valor para desempaquetar
¿Alguien sabe lo que hace, o un término más específico asociado con él que pueda buscar en Google para obtener más información?

BrenBarn
podrías googlear “desempaquetado de tuplas”. Esto se puede usar en varios lugares en Python. El más simple está en la asignación:
>>> x = (1,2)
>>> a, b = x
>>> a
1
>>> b
2
En un bucle for funciona de manera similar. Si cada elemento del iterable es un tuple
luego puede especificar dos variables, y cada elemento en el bucle se desempaquetará a los dos.
>>> x = [(1,2), (3,4), (5,6)]
>>> for item in x:
... print "A tuple", item
A tuple (1, 2)
A tuple (3, 4)
A tuple (5, 6)
>>> for a, b in x:
... print "First", a, "then", b
First 1 then 2
First 3 then 4
First 5 then 6
Él enumerate
La función crea un iterable de tuplas, por lo que se puede usar de esta manera.

que
[i for i in enumerate(['a','b','c'])]
Resultado:
[(0, 'a'), (1, 'b'), (2, 'c')]

lorkaan
Respuesta corta, desempaquetar tuplas de una lista en un ciclo for funciona. enumerate() crea una tupla utilizando el índice actual y el elemento actual completo, como (0, (‘bob’, 3))
Creé un código de prueba para demostrar esto:
list = [('bob', 3), ('alice', 0), ('john', 5), ('chris', 4), ('alex', 2)]
print("Displaying Enumerated List")
for name, num in enumerate(list):
print("{0}: {1}".format(name, num))
print("Display Normal Iteration though List")
for name, num in list:
print("{0}: {1}".format(name, num))
La simplicidad del desempaquetado de Tuple es probablemente una de mis cosas favoritas de Python 😀

greg e.
Él enumerate
La función devuelve un objeto generador que, en cada iteración, produce una tupla que contiene el índice del elemento (i
), numerado a partir de 0
por defecto, junto con el propio elemento (a
), y el for
loop le permite acceder convenientemente a ambos campos de esas tuplas generadas y asignarles nombres de variables.