code: def chop(s, n=1, d=None):
      
  
      spl = s.split(d, n)
      if len(spl) == n:
          spl.append(s[:0])
      if len(spl) != n + 1:
          raise ValueError('chop: Could not chop %d words from \'%s\'' % (n, s))
      return spl
docs: Chops initial words from a string and returns a list of them and the rest of the string.
      The returned list is guaranteed to be n+1 long. If too little words are found in the string,
      a ValueError exception is raised.
  
      :Parameters:
        s : str or unicode
          String to chop from.
        n : int
          Number of words to chop.
        d : str or unicode
          Optional delimiter. Any white-char by default.
  
      :return: A list of n first words from the string followed by the rest of the string (``[w1, w2,
               ..., wn, rest_of_string]``).
      :rtype: list of: str or unicode