Skip to content

Instantly share code, notes, and snippets.

@kevinetienne
Created October 26, 2011 10:06
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save kevinetienne/1315945 to your computer and use it in GitHub Desktop.
Save kevinetienne/1315945 to your computer and use it in GitHub Desktop.
find duplicate
def find_duplicate(seq):
# holds our duplicate list
duplicate_bucket = []
# helps to identify a duplicate
seen_bucket = set()
for item in (seq):
if item not in seen_bucket:
seen_bucket.add(item)
else:
duplicate_bucket.append(item)
return duplicate_bucket
def find_dup(counter, next_element, seen_bucket, bucket):
"""
recursive function to find duplicate
based on a generator
"""
el = next_element.next().group()
if el not in seen_bucket:
seen_bucket.add(el)
else:
bucket.append(el)
counter -= 1
if counter > 0:
return find_dup(counter, next_element, seen_bucket, bucket)
return seen_bucket, bucket
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment