Hello Pythoneers: I need to pass a list of named arguments to a function in a given order, and make sure these named arguments are retrieved using keys() in the same order they were given. Example:
keyargs={} keyargs['one']=1 keyargs['two']=2 keyargs['three']=3 myfunc(**keyargs) -> myfunc would retrieve key arguments with keys() in the same order as they were set, i.e. keyargs.keys() == ['one', 'two', 'three'] To achieve that, I subclassed dict and added the required lines in __init__(), __setitem__() and keys(). I then assigned dict to my new class but only get the desired behaviour for dictionaries created like: d=dict() but not for dictionaries created like: d={} or myfunc(**keyargs) Is it possible to force dictionary creation in these case to use my own dict class instead of the default one? I guess we can formulate this as a more generic question: if I want to modify the behaviour of the dictionary class, is there any way to do it interpreter-wide so that special dict constructors like those mentioned above use the modified version? Thanks for helping -- http://mail.python.org/mailman/listinfo/python-list