Renvoi de subs liste

Bonjour,

Je n'ai pas réellement d'idée pour faire cela. L'exercice est le suivant:
  • utiliser une boucle for
  • reçoit une liste de longueur quelconque
  • renvoie une liste de listes, contenant toutes les sous-listes comme suit :


    subs([5,2,3,4]) -> [
[5,2,3,4],
[2,3,4],
[3,4],
[4],
]

Je sais que
slice
peut bien marcher.
Je travaille en python 2.7.

2 réponses

  1. Contributeur
    bonjour,
    quelle partie te pose-t-elle problème?

    fais d'abord des exercices plus simples:
    - imprimer les sous-listes
    - à partir d'un nombre naturel, créer une liste de tous les naturels inférieur au nombre de départ
    0
    1. Modérateur
      Bonjour,

      En python (2 ou 3), tu peux récupérer la sous liste d'une liste l allant de l'index
      i
      (inclu) à l'index
      j
      (exclu) avec la syntaxe
      l[i:j]
      (opérateur de slicing).
      • Si
        i
        est omis (ou vaut
        0
        ), on part implicitement du début de la liste.
      • Si
        j
        est omis (ou vaut
        None
        ), on va implicitement jusqu'à la fin de la liste.


      Demande-toi dans ton exercice comment
      i
      et
      j
      évoluent, et déduis en comme écrire ta boucle
      for
      . Il suffira alors de déclarer une liste vite, et dans cette boucle
      for
      d'alimenter progressivement ta liste.

      Bonne chance
      0