On 02/10/2007, GTXY20 <[EMAIL PROTECTED]> wrote: > Hello all, > > Let's say I have the following dictionary: > > {1:(a,b,c), 2:(a,c), 3:(b,c), 4:(a,d)} > > I also have another dictionary for new value association: > > {a:1, b:2, c:3} > > How should I approach if I want to modify the first dictionary to read: > > {1:(1,2,3), 2:(1,3), 3:(2,3), 4:(1,d)} > > There is the potential to have a value in the first dictionary that will not > have an update key in the second dictionary hence in the above dictionary > for key=4 I still have d listed as a value.
You could use the map function... Let's say we have something like: transDict = { 'a':1, 'b':2, 'c':3 } We could define a function that mirrors this: def transFn(c): try: return transDict[c] except KeyError: return c Then if you have your data: data = { 1:('a','b','c'), 2:('a','c'), 3:('b','c'), 4:('a','d')} You can translate it as: for key in data.keys(): data[key] = map(transFn, data[key]) HTH! -- John. _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor