(self, indices_list: List[Tuple], distances: np.ndarray,
                        i: Union[str, int], m: Union[str, int])
return tuple(indices_list[max_index[0]])
Get the indices that belong to the maximum distance in `distances`

        Parameters
        ----------
        indices_list : list
            list of tuples
        distances : numpy.ndarray
            size M
        i : int
        m : int

        Returns
        -------
        list
Get the indices that belong to the maximum distance in `distances`
Get the indices that belong to the maximum distance in distances
def get_max_sum_ind(self, indices_list: List[Tuple], distances: np.ndarray,
                        i: Union[str, int], m: Union[str, int]) -> Tuple:
        '''Get the indices that belong to the maximum distance in `distances`

        Parameters
        ----------
        indices_list : list
            list of tuples
        distances : numpy.ndarray
            size M
        i : int
        m : int

        Returns
        -------
        list
        '''
        if len(indices_list) != len(distances):
            msg = "Indices and distances are lists of different length." + \
                "Length indices_list = {} and length distances = {}." + \
                "In loop i = {}  and m =  {}"
            raise ValueError(msg.format(
                len(indices_list), len(distances), i, m))

        max_index = distances.argsort()[-1:][::-1]
        return tuple(indices_list[max_index[0]])
def get_max_sum_ind ( self , indices_list : List [ Tuple ] , distances : np . ndarray , i : Union [ str , int ] , m : Union [ str , int ] ) -> Tuple : if len ( indices_list ) != len ( distances ) : msg = "Indices and distances are lists of different length." + "Length indices_list = {} and length distances = {}." + "In loop i = {}  and m =  {}" raise ValueError ( msg . format ( len ( indices_list ) , len ( distances ) , i , m ) ) max_index = distances . argsort ( ) [ - 1 : ] [ : : - 1 ] return tuple ( indices_list [ max_index [ 0 ] ] )