GTXY20 wrote:
> Here's an interesting question:
> 
> Can I use the transFn function to remove items in the value list.
> 
> Can this be done by simple assigning the current value a value of null
> in the translate file?

No, that will make the translated value be None (I guess that is what 
you mean by null). You could then filter for these, for example

     for key, value in Data.items():
        Data[key] = [ transDict.get(i, i) for i in value if 
transDict.get(i, i) is not None]

If you want to avoid double-fetching from transDict (if Data is huge 
this might matter) then you could write out the loop or possibly use 
something like
   Data[key] = [ x for x in (transDict.get(i, i) for i in value) if x is 
not None]

which makes an intermediate generator and filters that.

Kent

> 
> M.
> 
> 
> 
> On 10/2/07, GTXY20 <[EMAIL PROTECTED]> wrote:
>> I adjusted so that I get the following so if I do not need to translate a
>> dictionary I do not call the function transFn:
>>
>> 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] = [ transDict.get(i, i) for i in value ]

_______________________________________________
Tutor maillist  -  Tutor@python.org
http://mail.python.org/mailman/listinfo/tutor

Reply via email to