result = [] for first, second in zip(data, data[1:]): if first[0] != second[0]: result.append(first) result Output: [(1, 'a'), (2, 'b'), (3, 'a'), (4, 'a'), (2, 'a')]