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"
(Ctrl+Clic pour inverser les colonnes)
Entrer ou sortir du mode "plein écran"
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

.1280130ldy1,4]k/weibmc:_35aPr 7=9o[f.gt28;6sSh)(punv050d0m0H0v0n0c0M0y0q0c0v0M0M0A010H0n0R010406050M0S0p0p0v0x0e040N0C0c0S0/0C0T050k0_0{0}0 0@0R04051f181i0k1f0@0d0n0U0%0)0+0-0O0n0G0O0c1w0O0H0=050Y0o0c0m1r0*0,011v1x1z1x0H1F1H1D0H0x1g0H0O0%120M0R0v0T0-0I011J1t010E0!0m0T0v0p0m1D1$1(1-1L1:1H1?1^0=0a0y0w0x0C0R0C0M0n150T0y0W1!0x0x0m0q2d181{0T1g0k1Y2q1V1X1W1E0d1}0-1z0T1=2a1D1o1q0(1K2A0n2C0T0C2G1D0R2j1g2o2q2U0^1%2e2I1.2N0x0|0c0=0y0f2n2Y0?2X1|2!1L2$2(2*0I2-1(2/2o2z012@0v2)040y0t2{2p0@2~2=0-31330y0h372}2Y2 3d2*0u3h393j3b300C2%322*0L3o2:2Z1s2?3t2^340z3y3a3B3c3D3v340J3H3q3J3s3u3e0B3P2;3R3l040f0b3W3A2J3S3E0f2,192.3p3X3)3Z0f2`3.2|1j2S182G2t0d1X2y3r0q2O1_1g3~1h3|2W3_2p05440W2T3Q3)0j0=0W0E3h0y3z3k0E0=1%0x0/2m4c4h3;1.0;040Q3h4q3r0T4t1p0C0H4F3I3)4C0g4o4G3Y0=1S0m0v0S4N4i4B0=0P0r3o0y4+4p4O2#0=2L1o0q0m0M0s2L0E0m0x0n0m0S0x4S4.1L0C0=0A524#1L4C0D0i4*4,4T3=4:0T4=4@0s0m0G32584A54565q3(4$045c5e4+5g4/044;0n4?4^0_0R4|4~505u2 5504574y4-590-5b5d4y064,5T5r0-4k040E3t5N4H4:5,3R0C0l5i5/3=0o0=0x1(0G0m4!5$014C4E4y5B2?5_04205 5v5a0=632W533c4V0v1G4X4Z646g614%4(5z5!5#6b5%4:4n5S656h044W4Y6a2 5b6F5-5D6I3R4C5X2U6u5O0=020c0H0K5@5C0R4K4M6n5U6p044)5Y6t6,6Q6J5E5G4_0T4{4}4 516$605P0F6L5h040v0R5J5j6 5w6e2.6A305.6{6v6(0P6s5!7a5(0m1z6y6P7a4I6C6j1H6E7d6G0=0D762?7c6f6%6N6X5s04020G6V7F6B6Z0U4L7z5V0=6*2U5Z6-7i6o7q6:5l5I5K6_7Q016}7)7q72740d7)627,7B796o4C7g6+6-7j0=7l0M5~7v3r4C7T3/7W7X6%7Z5j5F5l5n5p835:0=6~8h707.1=7:8l777?6K8q6c047{7U89605(2j0H50176z7_6d8s7!4^4`7%5M8u7R044R8G8a5i5k4^8f0c7;0=8S7o7Y8V8d5H0S5J6^8O7C607`3y0k4f0m2q2R8_3}1p3 2t2w2r7s8|0k3~0@950X0Z0#04.