fork download
from collections import Counter

data = [1, 2, 1, 1, 0, 0, 3]
success = []
fail = []

counter = Counter(data)

for i in data:
	if not counter[i]:
		continue
	counter[i] -= 1
	if counter[2 - i]:
		counter[2 - i] -= 1
		success.append((i, 2 - i))
	else:
		fail.append(i)

print(success, fail)
Success #stdin #stdout 0.03s 10200KB
stdin
Standard input is empty
stdout
[(1, 1), (2, 0)] [1, 0, 3]