dict turn to list unexpected at runtime???
Cameron Simpson
cs at zip.com.au
Fri Dec 5 02:19:45 EST 2014
More information about the Python-list mailing list
Fri Dec 5 02:19:45 EST 2014
- Previous message (by thread): dict turn to list unexpected at runtime???
- Next message (by thread): dict turn to list unexpected at runtime???
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
On 05Dec2014 15:01, telnetgmike at gmail.com <telnetgmike at gmail.com> wrote: >Why the following code gives me errors??? And why the print statement run 2 times? I'll be appreciated your helps, thanks, >addrnum_dict = {'a':1,'b':2} >def orderaddrtimes(): > global addrnum_dict > print type(addrnum_dict) > > addrnum_dict = sorted(addrnum_dict.iteritems(), key=lambda d:d[1], reverse = True) Because of the line above. The return value of "sorted()" is a list. You assign that list to "addrnum_dict". That name now refers to the list from "sorted()". Because you call the orderaddrtimes() function twice, the second time you call it "addrnum_dict" is the list from the first call. Not a dict. You would be best to not assign the result of "sorte()" to "addrnum_dict". Assign it to something else. > #addrnum_dict = OrderedDict(sorted(addrnum_dict.items(), key=lambda t: t[0])) >if __name__ == '__main__': > kinds = ["a","b"] > for tmp_kind in kinds: > orderaddrtimes() > >###################### >errors: >python aaa.py ><type 'dict'> ><type 'list'> >Traceback (most recent call last): > File "aaa.py", line 16, in <module> > orderaddrtimes() > File "aaa.py", line 11, in orderaddrtimes > addrnum_dict = sorted(addrnum_dict.iteritems(), key=lambda d:d[1], reverse = True) >AttributeError: 'list' object has no attribute 'iteritems' Thank you for including the complete error output. This is very helpful, and often essential. Cheers, Cameron Simpson <cs at zip.com.au> Who are all you people and why are you in my computer? - Kibo
- Previous message (by thread): dict turn to list unexpected at runtime???
- Next message (by thread): dict turn to list unexpected at runtime???
- Messages sorted by: [ date ] [ thread ] [ subject ] [ author ]
More information about the Python-list mailing list