'Compares two arguments.
Default lists behavior is conversion of string "abc" to  list
["a", "b", "c"]. We will use that.
If self or other is empty - returns False.
Args:
self, other: str, unicode, list, int, float
Returns: bool'

def __eq__(self, other):

    if ((not self) or (not other)):
        return False
    if (isinstance(self[0], (list, int, float)) and isinstance(other[0], (list, int, float))):
        return self.coordinate_positions_compare(other)
    elif (isinstance(self[0], (unicode, str)) and isinstance(other[0], (unicode, str))):
        return (''.join(self) == ''.join(other))
    else:
        return False
