Permuter des valeurs d'une liste

tristan -  
jee pee Messages postés 31889 Date d'inscription   Statut Modérateur Dernière intervention   -

Bonjour,

J'aurais besoin d'un peu d'aide pour un exercice.

Il m'est demandé de coder une fonction permute() qui prend en argument une liste Python et deux indices i et j, et renvoie une liste dans laquelle les éléments d’indice i et j de la liste initiale ont été échangés.

Exemple:

assert permute([4, 0, 2, -1], 0, 3) == [-1, 0, 2, 4], "/!\ fonction permute() à retravailler"

2 réponses

  1. jee pee Messages postés 31889 Date d'inscription   Statut Modérateur Dernière intervention   9 982
     

    Bonjour,

    tu devrais lire en détail : https://python.doctor/page-apprendre-listes-list-tableaux-tableaux-liste-array-python-cours-debutant

    tu y découvriras que l'on peut faire liste[x]=liste[y]

    et sachant qu'en python 3 on peut échanger les valeurs de 2 variables,

    x = 1
    y = 2
    x, y = y, x
    print(x,y)

    tu devrais facilement arriver à écrire ta fonction

    il existe même une multitude de méthodes pour permuter le contenu de 2 variables : https://stacklima.com/programme-python-pour-permuter-deux-variables/


    0
    1. tristan
       

      excuse moi mais ça n'est pas vraiment ce qui m'est demandé. Car je dois pouvoir échanger des chiffres d'une seul et même liste, et non échanger les chiffres entre liste d'où le fait d'utiliser la fonction permute().

      Je ne sais pas si tu as la réponse ducoup ?

      0
      1. jee pee Messages postés 31889 Date d'inscription   Statut Modérateur Dernière intervention   9 982 > tristan
         

        Oui j'aurais une réponse ;-)

        il te faut combiner

        liste[x]=liste[y]

        et

        x, y = y, x
        0
  2. PierrotLeFou
     

    Je n'avais jamais essayé celle-ci:
    tab[i: j+1: j-i] = tab[j: i-1: j-i]

    -2