def linexor (listoflists,columnlist,valuelist):
    if type(columnlist) not in [ListType,TupleType]:
        columnlist = [columnlist]
    if type(valuelist) not in [ListType,TupleType]:
        valuelist = [valuelist]
    criterion = ''
    if len(columnlist) == 1 and len(valuelist) > 1:
        columnlist = columnlist*len(valuelist)
    for i in range(len(columnlist)):          # build an exec string
        if type(valuelist[i])==StringType:
            critval = '\'' + valuelist[i] + '\''
        else:
            critval = str(valuelist[i])
        criterion = criterion + ' x['+str(columnlist[i])+']=='+critval+' or'
    criterion = criterion[0:-2]         # remove the "or" after the last crit
    function = 'filter(lambda x: '+criterion+',listoflists)'
    lines = eval(function)
    return lines
If we can work from the back through the acceptable characters and
dataset/ETHPy150Open sunlightlabs/clearspending/completeness/statlib/pstat.py/linexor--crossover with--dataset/ETHPy150Open jlisee/xpkg/python/xpkg/util.py/Version._parse_release