code: def scorerange(self, start, end, start_inclusive=True, end_inclusive=True):
          
          if not self:
              return []
  
          left = bisect_left(self._scores, (start,))
          right = bisect_right(self._scores, (end,))
  
          if end_inclusive:
              # end is inclusive
              while right < len(self) and self._scores[right][0] == end:
                  right += 1
  
          if not start_inclusive:
              while left < right and self._scores[left][0] == start:
                  left += 1
          return self._scores[left:right]
docs: Return (score, member) pairs between min and max scores.