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, [])
([], [], [])
###(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 : 10/10
.1280139_ 1e5s,/l8:ynb]60guiokt(2ch[d7a3mP4.fvp;wS)=r050E0f0y0G0v0k0h0d0B0k0G0h0h0T010y0v0O010406050h0u0I0I0G0U0n040R0w0k0u0/0w0o050j0_0{0}0 0@0O04181f051i0j1i1k1f0@0E0v0N0%0)0+0-0C0v0t0C0k1y0C0y0=050Y0p0k0f1t0*0,011x1z1B1z0y1H1J1F0y0p0w0E0 1G0U1g0y0C0%120h0O0G0o0-0A011L1v010M0!0f0o0G0I0f1F1-1/1@1N1`1J1}1 0=0a0d0J0U0w0O0w0h0v150o0d0W1+0U0U0f0B2k18220o1g0j1)2x0y1%1$1(0E240-1B0o1|2h1F1q1s0(1M2H0v2J0o1Z1r1F0O2q1g2v2x2#0^1.2l2P1^2U0U0|0k0=0d0e2u2)0?2(232+1N2-2/2;0A2@1/2_2v2G012~0G2:040d0H322w0@352|0-383a0d0K3e342)363k2;0g3o3g3q3i370w2.392;0r3v2`2*1u2}3A2 3b0F3F3h3I3j3K3C3b0l3O3x3Q3z3B3l0b3W2{3Y3s040e0s3%3H2Q3Z3L0e2?192^3w3(3:3*0e313^331h2Z182N2A0E2E360B1Z201g451j432%402w054a0W2!3X3:0x0=0W0M3o3G360Q2;4u3P3|0M0=1.0U0/2t4i4n3{1^0;040z4z4o2,4D1r0w0y4P4K1N4M0i3o0d4v3y0o0=1U0f0G0u4W3/4L0=0S0m3v0d4_4$4A4R042S1q0B0f0h0c2S0M0f0U0v0f0u0U4#4%3Y0w0=0T5d4|4Y0=0D0q4^4`5e3|0=4 0v51530f0t395j4Q1N5g045i4I4{5C0-4M5n5p4_5r4}5u5w0c0_0O57595b5B4X0-5E5G2#5I5!015L5o4I064`5)4:1N4q040M3A5Z5=3j5t5{360w4x4~175H5P2}0p0=0U1/0t0f4/364M4O4I663j6804276e3y6g6o3)4*0G1I4,4.6i5k5K4=4?5N5:5;365@0v4t656z376t6v4-6r3:5L6Q5Q6T5l045-5(6j015E020k0y0P5 4(4S0N4U6V6A044@5.6E6^6F6,635052540o56585a5c6y5J6#0=0L6:6M040G0O5V0o0E7a6q755*4)4~7i4=6D5:6!5@0f1B6J6Z6L7m4+6P7k5|5+5m7a7m0v7o6X6+5f0=020t6)7L5s040O4T4V7C6f0=6?2#5/6_7r7y5t7g5v6~5U5W737a5E797X6{7d7f7h7@3Y7j2%7)7n7|6R7p6@6_7s0=7u0h6d824;6=7q86805R6~5y5A8c5D787G0=7_1|7{7 767~2^6!7H7J0S6D87042q0y5b647x8v0=6h8u7l7*6}53557/5Y8m6;4!6K767H7+5S8k0k7J8X8J8O6|7,537.728U8N7D4M8B5.184l0f2x2Y8}441r462A2C2y1Y1!2A6u1J2x450@0j0W0Y0!0h04.