Bugs item #1164726, was opened at 2005-03-16 19:34 Message generated for change (Tracker Item Submitted) made by Item Submitter You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1164726&group_id=5470
Category: Python Library Group: Python 2.4 Status: Open Resolution: None Priority: 5 Submitted By: Kent Johnson (kjohnson) Assigned to: Nobody/Anonymous (nobody) Summary: UserDict is not iterable Initial Comment: UserDict does not directly support iteration: >>> import UserDict >>> ud = UserDict.UserDict() >>> ud['a'] = 1 >>> [k for k in ud] Traceback (most recent call last): File "<stdin>", line 1, in ? File "C:\Python24\lib\UserDict.py", line 17, in __getitem__ def __getitem__(self, key): return self.data[key] KeyError: 0 The fix is to define __iter__ = iterkeys: >>> class UD(UserDict.UserDict): ... __iter__ = UserDict.UserDict.iterkeys ... >>> ud = UD() >>> ud['a'] = 1 >>> [k for k in ud] ['a'] ---------------------------------------------------------------------- You can respond by visiting: https://sourceforge.net/tracker/?func=detail&atid=105470&aid=1164726&group_id=5470 _______________________________________________ Python-bugs-list mailing list Unsubscribe: http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com