Permuter des valeurs d'une liste

tristan -  
jee pee Messages postés 41504 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"
A voir également:

2 réponses

jee pee Messages postés 41504 Date d'inscription   Statut Modérateur Dernière intervention   9 712
 

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
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
jee pee Messages postés 41504 Date d'inscription   Statut Modérateur Dernière intervention   9 712 > tristan
 

Oui j'aurais une réponse ;-)

il te faut combiner

liste[x]=liste[y]

et

x, y = y, x
0
PierrotLeFou
 

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

-2