do this with list comp?

John Hunter jdhunter at
Fri Dec 12 17:46:58 CET 2003

I want to replace all empty fields in a CSV line with 'NULL'.

Here is a brute force way

    def fixline(line):
        ret = []
        for s in line.split(','):
            if not len(s): ret.append('NULL')
            else: ret.append(s)
        return ret

    line = 'John,Bill,,,Fred'
    print fixline(line)
    # ['John', 'Bill', 'NULL', 'NULL', 'Fred']

I am wondering if there is a way to do it with list comprehensions.  I
know how I would do it with a ternary operator.....

John Hunter

More information about the Python-list mailing list