<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def comparison(self, username):
 """ Get a comparison of scores between the "base user" and ``username``. A Key-Value returned will consist of the following: .. code-block:: none { ANIME_ID: [BASE_USER_SCORE, OTHER_USER_SCORE], } Example: .. code-block:: none { 30831: [3, 8], 31240: [4, 7], 32901: [1, 5], } .. warning:: The JSON returned isn't valid JSON. The keys are stored as integers instead of the JSON standard of strings. You'll want to force the keys to strings if you'll be using the ids elsewhere. :param str username: The username to compare the base users' scores to :return: Key-value pairs as described above :rtype: dict """

        # Check if there's actually a base user to compare scores with.
        if not self._base_user or not self._base_scores:
            raise Exception("No base user has been specified. Call the `init` "
                            "function to retrieve a base users' scores")

        # Create a local, deep-copy of the scores for modification
        scores = copy.deepcopy(self._base_scores)

        user_list = endpoints.myanimelist(username)

        for anime in user_list:
            id = anime["id"]
            score = anime["score"]

            if id in scores:
                scores[id].append(score)

        # Force to list so no errors when deleting keys.
        for key in list(scores.keys()):
            if not len(scores[key]) == 2:
                del scores[key]

        return scores