import functools
remove=lambda items,n=1:functools.reduce(lambda acc,item:(acc[1].update({item:1 if item not in acc[1] else acc[1][item]+1}),acc[0].append(item) if acc[1][item]<=acc[2] else None,acc)[2],items,([],{},n))[0]
orig=[1,2,1,1,3,2,3,3,2,4,4,4,5,5,5,"jim",6,"jim",6,"bob",6,"bob","bob","bob"]
print(orig)
print(remove(orig))
print(remove(orig,2))
aW1wb3J0IGZ1bmN0b29scwoKcmVtb3ZlPWxhbWJkYSBpdGVtcyxuPTE6ZnVuY3Rvb2xzLnJlZHVjZShsYW1iZGEgYWNjLGl0ZW06KGFjY1sxXS51cGRhdGUoe2l0ZW06MSBpZiBpdGVtIG5vdCBpbiBhY2NbMV0gZWxzZSBhY2NbMV1baXRlbV0rMX0pLGFjY1swXS5hcHBlbmQoaXRlbSkgaWYgYWNjWzFdW2l0ZW1dPD1hY2NbMl0gZWxzZSBOb25lLGFjYylbMl0saXRlbXMsKFtdLHt9LG4pKVswXQoKb3JpZz1bMSwyLDEsMSwzLDIsMywzLDIsNCw0LDQsNSw1LDUsImppbSIsNiwiamltIiw2LCJib2IiLDYsImJvYiIsImJvYiIsImJvYiJdCnByaW50KG9yaWcpCnByaW50KHJlbW92ZShvcmlnKSkKcHJpbnQocmVtb3ZlKG9yaWcsMikpCg==
[1, 2, 1, 1, 3, 2, 3, 3, 2, 4, 4, 4, 5, 5, 5, 'jim', 6, 'jim', 6, 'bob', 6, 'bob', 'bob', 'bob']
[1, 2, 3, 4, 5, 'jim', 6, 'bob']
[1, 2, 1, 3, 2, 3, 4, 4, 5, 5, 'jim', 6, 'jim', 6, 'bob', 'bob']