Enable Javascript in your browser and then refresh this page, for a much enhanced experience.
First solution in Clear category for Non-unique Elements by PythOff
#Your optional code here
#You can import some modules or create additional functions
def checkio(data):
if len(data) > 1:
inAscOrd = sorted(data)
if inAscOrd[0] != inAscOrd[1]:
data = data[:data.index(inAscOrd[0])] + data[data.index(inAscOrd[0]) + 1:]
for i in range(1, len(inAscOrd) - 1):
if inAscOrd[i] != inAscOrd[i-1] and inAscOrd[i] != inAscOrd[i+1]:
data = data[:data.index(inAscOrd[i])] + data[data.index(inAscOrd[i]) + 1:]
if inAscOrd[-1] != inAscOrd[-2]:
data = data[:data.index(inAscOrd[-1])] + data[data.index(inAscOrd[-1]) + 1:]
return data
else:
return []
#Some hints
#You can use list.count(element) method for counting.
#Create new list with non-unique elements
#Loop over original list
if __name__ == "__main__":
#These "asserts" using only for self-checking and not necessary for auto-testing
assert isinstance(checkio([1]), list), "The result must be a list"
assert checkio([1, 2, 3, 1, 3]) == [1, 3, 1, 3], "1st example"
assert checkio([1, 2, 3, 4, 5]) == [], "2nd example"
assert checkio([5, 5, 5, 5, 5]) == [5, 5, 5, 5, 5], "3rd example"
assert checkio([10, 9, 10, 10, 9, 8]) == [10, 9, 10, 10, 9], "4th example"
Oct. 15, 2016