mmiikkee13 schrieb:
a_list = range(37)
list_as_dict = dict(zip(range(len(a_list)), [str(i) for i in a_list]))
for k, v in list_as_dict:
... print k, v
...
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'int' object is not iterable
What 'int' object is this referring to? I'm iterating over a dict, not
an int.
Because
for name in dictionary:
will bind name to the *keys* of dictionary. Thus you end up with an int.
Then the tuple-unpacking occurs:
k, v = <number>
Which is equivalent to
k = <number>[0]
v = <number>[1]
And because <number> isn't iterable, it will fail.
Use
for k, v in dictionary.iteritems():
instead.
Diez
--
http://mail.python.org/mailman/listinfo/python-list