GTXY20 wrote: > > I have the transFn function as follows: > > def transFn(translatefile): > transfile = open(translatefile, 'r') > records = transfile.read() > transfile.close() > lines = records.split() > transDict = {} > for line in lines: > key, value = line.split(',') > transDict[key] = value > > for key, value in data.items(): > data[key] = [ x for x in (transDict.get (i, i) for i in value) if > x is not None] > > my original data is: > > data = {'1': ['a', 'b', 'c'], '3': ['a', 'b', 'c'], '2': ['a', 'b', > 'c'], '4': ['a', 'c']} > > my transDict is: > > transDict = {'a': '1', 'b': '2'} > > However when I run transFn my data is: > > data = {'1': ['1', '2', 'c'], '3': ['1', '2', 'c'], '2': ['1', '2', > 'c'], '4': ['1', 'c']} > > I was expecting: > > {'1': ['1', '2'], '3': ['1', '2'], '2': ['1', '2'], '4': ['1']}
Well you said you would assign null to the value in transDict and you did not do that. I fear I am giving you too much code and not enough understanding. You should be figuring some of this stuff out yourself. Look at the docs for dict.get() and see if you can change your code to do what you want. Kent _______________________________________________ Tutor maillist - Tutor@python.org http://mail.python.org/mailman/listinfo/tutor