'Obtain a collection of the lists the specified user is
subscribed to. If neither user_id or screen_name is specified, the
data returned will be for the authenticated user.
The list will contain a maximum of 20 lists per page by default.
Does not include the user\'s own lists.
Args:
user_id (int, optional):
The ID of the user for whom to return results for.
screen_name (str, optional):
The screen name of the user for whom to return results for.
count (int, optional):
The amount of results to return per page.
No more than 1000 results will ever be returned in a single
page. Defaults to 20.
cursor (int, optional):
The "page" value that Twitter will use to start building the
list sequence from. Use the value of -1 to start at the
beginning. Twitter will return in the result the values for
next_cursor and previous_cursor.
Returns:
twitter.list.List: A sequence of twitter.List instances,
one for each list'

def GetSubscriptions(self, user_id=None, screen_name=None, count=20, cursor=(-1)):

    url = ('%s/lists/subscriptions.json' % self.base_url)
    parameters = {}
    parameters['cursor'] = enf_type('cursor', int, cursor)
    parameters['count'] = enf_type('count', int, count)
    if (user_id is not None):
        parameters['user_id'] = enf_type('user_id', int, user_id)
    elif (screen_name is not None):
        parameters['screen_name'] = screen_name
    resp = self._RequestUrl(url, 'GET', data=parameters)
    data = self._ParseAndCheckTwitter(resp.content.decode('utf-8'))
    return [List.NewFromJsonDict(x) for x in data['lists']]
