This should work:
>>> original_header = ['a','b','c'] >>> original_rows = [[1,0,1], [0,0,0], [1,0,0]] >>> row_major = zip(*original_rows) >>> filtered = [(h, col) ... for h, col ... in zip(original_header, row_major) ... if any(col)] >>> header, rows = zip(*filtered) >>> header ('a', 'c') >>> rows ((1, 0, 1), (1, 0, 0)) >>> zip(*rows) [(1, 1), (0, 0), (1, 0)] >>>
edit: fixed; added transposition to the filtered list view, in fact I didn’t look hard enough
SingleNegationElimination
source share