def column_list(tables, columns):
    columns = set(columns)
    foundcols = tz.reduce(lambda x, y: x.union(y), (set(t.columns) for t in tables))
    return list(columns.intersection(foundcols))
Take a list of tables and a list of column names and return the columns
dataset/ETHPy150Open UDST/urbansim/urbansim/utils/misc.py/column_list