def keep_last_occurrences(lst): last_occurrences = {} result = [] for index, string in lst: last_occurrences[index] = string for index, string in lst: if last_occurrences[index] == string: result.append((index, string)) last_occurrences[index] = None return result