Return self without the specified fragments.

        Args:
            fragments: Either a list of :class:`~chemcoord.Cartesian` or a
                :class:`~chemcoord.Cartesian`.
            use_lookup (bool): Use a lookup variable for
                :meth:`~chemcoord.Cartesian.get_bonds`. The default is
                specified in ``settings['defaults']['use_lookup']``

        Returns:
            list: List containing :class:`~chemcoord.Cartesian`.

def get_without(self, fragments,
                    use_lookup=None):
        """Return self without the specified fragments.

        Args:
            fragments: Either a list of :class:`~chemcoord.Cartesian` or a
                :class:`~chemcoord.Cartesian`.
            use_lookup (bool): Use a lookup variable for
                :meth:`~chemcoord.Cartesian.get_bonds`. The default is
                specified in ``settings['defaults']['use_lookup']``

        Returns:
            list: List containing :class:`~chemcoord.Cartesian`.
        """
        if use_lookup is None:
            use_lookup = settings['defaults']['use_lookup']

        if pd.api.types.is_list_like(fragments):
            for fragment in fragments:
                try:
                    index_of_all_fragments |= fragment.index
                except NameError:
                    index_of_all_fragments = fragment.index
        else:
            index_of_all_fragments = fragments.index
        missing_part = self.loc[self.index.difference(index_of_all_fragments)]
        missing_part = missing_part.fragmentate(use_lookup=use_lookup)
        return sorted(missing_part, key=len, reverse=True)