On 11/12/2012 06:02 PM, duncan smith wrote:
On 12/11/12 13:40, F.R. wrote:
On 11/12/2012 02:27 PM, Robert Franke wrote:
Hi Frederic,
[...]
bas = {}
for year in range (2010, 2013):
ba = st.runs ('BA', '%d-01-01' % year, '%d-12-31' % year)
ba.run ()
print year, id (ba)
bas [year] = ba
2010 150289932
2011 150835852
2012 149727788
for y in sorted (bas.keys ()):
b = bas [year]
Shouldn't that be b = bas[y]?
Yes, it should, indeed! What's more, I should have closed and restarted
IDLE. There must have
been a name clash somewhere in the name space. The problem no longer
exists. Sorry
about that. And thanks to all who paused to reflect on this non-problem.
- Frederic.
print y, id (b)
2010 149727788
2011 149727788
2012 149727788
[...]
Cheers,
Robert
The problem was that year was bound to the integer 2013 from the first
loop. When you subsequently looped over the keys you printed each key
followed by id(bas[2013]). Restarting IDLE only helped because you
presumably didn't repeat the error.
Duncan
That's it! Isn't it strange how on occasion one doesn't see the most
obvious and simple mistake, focusing beyond the realm of foolishness.
Thanks all . . .
Frederic
--
http://mail.python.org/mailman/listinfo/python-list