nodes: 0, module; 1, function_definition; 2, function_name:minus; 3, parameters; 4, block; 5, identifier:repo_list_a; 6, identifier:repo_list_b; 7, expression_statement; 8, expression_statement; 9, for_statement; 10, expression_statement; 11, for_statement; 12, return_statement; 13, comment:"""Method to create a list of repositories such that the repository
          belongs to repo list a but not repo list b.
  
          In an ideal scenario we should be able to do this by set(a) - set(b)
          but as GithubRepositories have shown that set() on them is not reliable
          resort to this until it is all sorted out.
  
          :param repo_list_a: List of repositories.
          :param repo_list_b: List of repositories.
          """; 14, assignment; 15, identifier:repo; 16, identifier:repo_list_b; 17, block; 18, assignment; 19, identifier:repo; 20, identifier:repo_list_a; 21, block; 22, identifier:a_minus_b; 23, identifier:included; 24, call; 25, expression_statement; 26, identifier:a_minus_b; 27, call; 28, if_statement; 29, identifier:defaultdict; 30, argument_list; 31, assignment; 32, identifier:list; 33, argument_list; 34, not_operator; 35, block; 36, lambda; 37, subscript; 38, True; 39, subscript; 40, expression_statement; 41, expression_statement; 42, False; 43, identifier:included; 44, attribute; 45, identifier:included; 46, attribute; 47, assignment; 48, call; 49, identifier:repo; 50, identifier:full_name; 51, identifier:repo; 52, identifier:full_name; 53, subscript; 54, True; 55, attribute; 56, argument_list; 57, identifier:included; 58, attribute; 59, identifier:a_minus_b; 60, identifier:append; 61, identifier:repo; 62, identifier:repo; 63, identifier:full_name
code: def minus(repo_list_a, repo_list_b):
          """Method to create a list of repositories such that the repository
          belongs to repo list a but not repo list b.
  
          In an ideal scenario we should be able to do this by set(a) - set(b)
          but as GithubRepositories have shown that set() on them is not reliable
          resort to this until it is all sorted out.
  
          :param repo_list_a: List of repositories.
          :param repo_list_b: List of repositories.
          """
          included = defaultdict(lambda: False)
  
          for repo in repo_list_b:
              included[repo.full_name] = True
  
          a_minus_b = list()
          for repo in repo_list_a:
              if not included[repo.full_name]:
                  included[repo.full_name] = True
                  a_minus_b.append(repo)
  
          return a_minus_b