[Tutor] Handling 'None' (null) values when processing sqlite cursorresults

Christian Witts cwitts at compuscan.co.za
Thu Jul 15 07:37:57 CEST 2010

On 14/07/2010 19:34, Alan Gauld wrote:
> "Christian Witts" <cwitts at compuscan.co.za> wrote
>>> You need a display function that can strip out the nulls as needed.
>>> A simple list comprehension or generator expression would work
>>> in this case:
>>     print ' '.join(str(field) for field in data if field is not 'None')
>> The problem with that is if you're relying on a set delimiter you are 
>> removing elements so you would be better served by doing `str(field) 
>> if field != None else '' for field in record`
> True, although in this case we do seem to have a fixed condition
> since it's the database's representation of null but I originally didn't
> notice the quotes around None. When I fixed that I should have
> changed is to equals..
>>     print ' '.join(str(field) for field in data if field != 'None')
> But your modification confuses me. can you explain?
> What would the print line look like?
> Alan G.
> _______________________________________________
> Tutor maillist  -  Tutor at python.org
> To unsubscribe or change subscription options:
> http://mail.python.org/mailman/listinfo/tutor

I prefer not to use a space delimiter, generally a pipe |, so the output 
would look a lot like
104||Sylvester||Evans||527-9210 Prion 
Av.|Liberal|VT|24742|1-135-197-1139|vehicula.Pellentesque at idmollis.edu|2010-07-13 
22:52:50|2010-07-13 22:52:50

The reason I suggested that usage instead is because Monte said
 >>> having the 'None' values omitted really messed with the list order 
which I was depending on

So if you're wanting to create a new list which removes the Nones but 
still keeps the same indexing it would be the way to do it, imho.

Kind Regards,
Christian Witts

More information about the Tutor mailing list