Skip to content

Instantly share code, notes, and snippets.

@xmonader
Created February 17, 2017 08:55
Show Gist options
  • Select an option

  • Save xmonader/111179144244d01e5feab30017a505a7 to your computer and use it in GitHub Desktop.

Select an option

Save xmonader/111179144244d01e5feab30017a505a7 to your computer and use it in GitHub Desktop.
from functools import *
# def printandreturn(left, right):
# seen, lastres = left
# if lastres == False:
# return seen, False
# if seen[0] == right:
# return seen, True
# return seen, len(seen)<2 is True
# # else: #len(seen) > 1
# # return seen, False
# def allunique(li):
# if len(li):
# return (reduce(printandreturn, li, ([li[0]], True)))[1]
# return False
# def printandreturn_(left, right):
# seen, lastres = left
# if lastres == False:
# return seen, False
# if seen == right:
# return seen, True
# return seen, False
#printandreturn = lambda left, right: (left[0], False) if (left[1] == False or left[0] != right) else (left[0], True)
allunique = lambda li: (reduce(lambda left, right: (left[0], False) if (left[1] == False or left[0] != right) else (left[0], True), li, (li[0], True)))[1] if len(li) else False
# def printandreturn(left, right):
# seen, lastres = left
# if lastres == False:
# return seen, False
# if seen == right:
# return seen, True
# return seen, False
# def allunique(li):
# if len(li):
# return (reduce(printandreturn, li, (li[0], True)))[1]
# return False
def test():
assert allunique([False, False]) == True
assert allunique([9,8,7]) == False
assert allunique([9,9,9]) == True
assert allunique([8,9,9]) == False
assert allunique([True, True]) == True
assert allunique([True, False, True, True]) == False
assert(allunique([None, False]) == False)
assert allunique([None, False]) is False
assert allunique([None, None]) is True
assert allunique([]) is False
assert allunique([2,3,4]) is False
assert allunique([True, False]) is False
assert allunique([True, True]) is True
assert(allunique([False, False]) is True)
assert allunique([2,4,4]) is False
assert allunique([None, None, None]) is True
assert allunique([0, 0, 0]) is True
assert allunique([0, 1, 0, 0, 0]) is False
print("tests passed.")
test()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment