def explore_segments(self, bounds, activity_type=None, min_cat=None, max_cat=None):
        """
        Returns an array of up to 10 segments.

        http://strava.github.io/api/v3/segments/#explore

        :param bounds: list of bounding box corners lat/lon [sw.lat, sw.lng, ne.lat, ne.lng] (south,west,north,east)
        :type bounds: list of 4 floats or list of 2 (lat,lon) tuples

        :param activity_type: (optional, default is riding)  'running' or 'riding'
        :type activity_type: str

        :param min_cat: (optional) Minimum climb category filter
        :type min_cat: int

        :param max_cat: (optional) Maximum climb category filter
        :type max_cat: int

        :return: An list of :class:`stravalib.model.Segment`.
        :rtype: :py:class:`list`

        """
        if len(bounds) == 2:
            bounds = (bounds[0][0], bounds[0][1], bounds[1][0], bounds[1][1])
        elif len(bounds) != 4:
            raise ValueError("Invalid bounds specified: {0!r}. Must be list of 4 float values or list of 2 (lat,lon) tuples.")

        params = {'bounds': ','.join(str(b) for b in bounds)}

        valid_activity_types = ('riding', 'running')
        if activity_type is not None:
            if activity_type not in ('riding', 'running'):
                raise ValueError('Invalid activity type: {0}.  Possible values: {1!r}'.format(activity_type, valid_activity_types))
            params['activity_type'] = activity_type

        if min_cat is not None:
            params['min_cat'] = min_cat
        if max_cat is not None:
            params['max_cat'] = max_cat

        raw = self.protocol.get('/segments/explore', **params)
        return [model.SegmentExplorerResult.deserialize(v, bind_client=self)
                for v in raw['segments']]
Returns an array of up to 10 segments.

        http://strava.github.io/api/v3/segments/#explore

        :param bounds: list of bounding box corners lat/lon [sw.lat, sw.lng, ne.lat, ne.lng] (south,west,north,east)
        :type bounds: list of 4 floats or list of 2 (lat,lon) tuples

        :param activity_type: (optional, default is riding)  'running' or 'riding'
        :type activity_type: str

        :param min_cat: (optional) Minimum climb category filter
        :type min_cat: int

        :param max_cat: (optional) Maximum climb category filter
        :type max_cat: int

        :return: An list of :class:`stravalib.model.Segment`.
        :rtype: :py:class:`list`