Partition de tableau

Écrire une fonction partition qui prend en paramètres un entier pivot et une liste d’entiers tableau et qui renvoie un tuple composé de trois listes :

  • la première liste contient les indices, dans l'ordre croissant, des valeurs de tableau strictement inférieures à pivot ;
  • la deuxième liste contient les indices, dans l'ordre croissant, des valeurs de tableau égales à pivot ;
  • la troisième liste contient les indices, dans l'ordre croissant, des valeurs de tableau strictement supérieures à pivot.

Exemples

🐍 Script Python
>>> partition(3, [1, 3, 4, 2, 4, 6, 3, 0])
([0, 3, 7], [1, 6], [2, 4, 5])
>>> partition(3, [1, 4, 2, 4, 6, 0])
([0, 2, 5], [], [1, 3, 4])
>>>partition(3, [1, 1, 1, 1])
([0, 1, 2, 3], [], [])
>>> partition(3, [])
([], [], [])
Compléter le code du professeur ci-dessous

###(Dés-)Active le code après la ligne # Tests (insensible à la casse)
(Ctrl+I)
Entrer ou sortir du mode "deux colonnes"
(Alt+: ; Ctrl pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
(Esc)
Tronquer ou non le feedback dans les terminaux (sortie standard & stacktrace / relancer le code pour appliquer)
Si activé, le texte copié dans le terminal est joint sur une seule ligne avant d'être copié dans le presse-papier
Évaluations restantes : 5/5

.128013f06S:d=4yr./opg2mcb1w937ve[ l,8P5)ti]kn;ua(_sh050g0A0J0Q0K0D0T0C0s0D0Q0T0T0h010J0K0o010406050T0P0r0r0Q0k0j040e0n0D0P0/0n0N050m0_0{0}0 0@0o04051f181i0m1f0@0g0K0z0%0)0+0-0U0K0p0U0D1w0U0J0=050Y0t0D0A1r0*0,011v1x1z1x0J1F1H1D0J0k1g0J0U0%120T0o0Q0N0-0q011J1t010b0!0A0N0Q0r0A1D1$1(1-1L1:1H1?1^0=0a0C0G0k0n0o0n0T0K150N0C0W1!0k0k0A0s2d181{0N1g0m1Y2q1V1X1W1E0g1}0-1z0N1=2a1D1o1q0(1K2A0K2C0N0n2G1D0o2j1g2o2q2U0^1%2e2I1.2N0k0|0D0=0C0u2n2Y0?2X1|2!1L2$2(2*0q2-1(2/2o2z012@0Q2)040C0x2{2p0@2~2=0-31330C0i372}2Y2 3d2*0H3h393j3b300n2%322*0d3o2:2Z1s2?3t2^340y3y3a3B3c3D3v340F3H3q3J3s3u3e0w3P2;3R3l040u0c3W3A2J3S3E0u2,192.3p3X3)3Z0u2`3.2|1j2S182G2t0g1X2y3r0s2O1_1g3~1h3|2W3_2p05440W2T3Q3)0M0=0W0b3h3z2 0v2*4o3I3=0b0=1%0k0/2m4c4h3;1.0;040R4t4i2#4x1p0n0J4J4E1L4G0E3h0C4p3r0N0=1S0A0Q0P4Q3(4F0=0I0f3o0C4:4W4u4L042L1o0s0A0T0S2L0b0A0k0K0A0P0k4V4X3R0n0=0h574?4S0=0B0L4/4;583=0=4_0K4{4}0A0p325d4K1L5a045c4C4=5w0-4G5h5j4:5l4@5o5q0S0_0o5153555v4R0-5y5A2U5C5U015F5i4C064;5Z4*1L4k040b3t5T5,3c5n5=2 0n4r4^175B5J2?0t0=0k1(0p0A4)2 4G4I4C603c620420683r6a6i3Y4!0Q1G4$4(6c5e5E4,4-5H5*5+2 5.0K4n5 6t306n6p4%6l3)5F6K5K6N5f045%5Y6d015y020D0J0O5_4Y4M0z4O6P6u044.5(6y6/6z6$5}4`4|4~0N505254566s5D6V0=0l6*6G040Q0o5P0N0g746k6 5!4Z4^7c4,6x5*6U5.0A1z6D6T6F7g4#6J7e5?5#5g747g0K7i6R6#590=020p6Z7F5m040o4N4P7w690=6-2U5)6:7l7s5n7a5p6^5O5Q6}745y737R6=77797b7.3R7d2W7Z7h7?6L7j6.6:7m0=7o0T677|4+6,7k807`5L6^5s5u865x727A0=7:1=7=7_707^2.6U7B7D0I6x81042j0J555~7r8p0=6b8o7f7!6@4}4 7)5S8g6+4U6E707B7#5M8e0D7D8R8D8I6?7$4}7(6|8O8H7x4G8v5(184f0A2q2R8@3}1p3 2t2w2r6o1H2q3~0@0m0W0Y0!0T04.