Skip to content

Instantly share code, notes, and snippets.

@renzon
Created November 5, 2016 01:36
Show Gist options
  • Save renzon/5b75efa1626f58b7ab69f6a77bf7b673 to your computer and use it in GitHub Desktop.
Save renzon/5b75efa1626f58b7ab69f6a77bf7b673 to your computer and use it in GitHub Desktop.
find itens which has odd frequency
from collections import Counter
def find_odds(seq):
return [k for k, v in Counter(seq).items() if v % 2 == 1]
print(find_odds([20, 1, -1, 2, -2, 3, 3, 5, 5, 1, 2, 4, 20, 4, -1, -2, 5]))
@renzon
Copy link
Author

renzon commented Nov 5, 2016

Using set only:

def find_odds(seq):
    odds = set()
    for v in seq:
        if v in odds:
            odds.remove(v)
        else:
            odds.add(v)
    return odds


print(find_odds([20, 1, -1, 2, -2, 3, 3, 5, 5, 1, 2, 4, 20, 4, -1, -2, 5]))

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment