In [26]: test = {}
In [27]: test[\"apple\"] = \"green\"
In [28]: test[\"banana\"] = \"yellow\"
In [29]: test[\"orange\"] = \"orange\"
In [32]: for fruit, colour
Change
for fruit, colour in test:
print "The fruit %s is the colour %s" % (fruit, colour)
to
for fruit, colour in test.items():
print "The fruit %s is the colour %s" % (fruit, colour)
or
for fruit, colour in test.iteritems():
print "The fruit %s is the colour %s" % (fruit, colour)
Normally, if you iterate over a dictionary it will only return a key, so that was the reason it error-ed out saying "Too many values to unpack".
Instead items
or iteritems
would return a list of tuples
of key value pair
or an iterator
to iterate over the key and values
.
Alternatively you can always access the value via key as in the following example
for fruit in test:
print "The fruit %s is the colour %s" % (fruit, test[fruit])