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
.128013s3o_8;bcdufvg/0ly n7apS.r1me,(P2=4:twki9][5h)6050j0C0K0v0N0q0b0s0i0q0v0b0b0H010K0N0w010406050b0k0B0B0v0z0r040x0d0q0k0/0d0t050o0_0{0}0 0@0w04181f051i0o1i1k1f0@0j0N0m0%0)0+0-0S0N0n0S0q1y0S0K0=050Y0h0q0C1t0*0,011x1z1B1z0K1H1J1F0K0h0d0j0 1G0z1g0K0S0%120b0w0v0t0-0G011L1v010l0!0C0t0v0B0C1F1-1/1@1N1`1J1}1 0=0a0s0F0z0d0w0d0b0N150t0s0W1+0z0z0C0i2k18220t1g0o1)2x0K1%1$1(0j240-1B0t1|2h1F1q1s0(1M2H0N2J0t1Z1r1F0w2q1g2v2x2#0^1.2l2P1^2U0z0|0q0=0s0A2u2)0?2(232+1N2-2/2;0G2@1/2_2v2G012~0v2:040s0c322w0@352|0-383a0s0I3e342)363k2;0R3o3g3q3i370d2.392;0U3v2`2*1u2}3A2 3b0u3F3h3I3j3K3C3b0f3O3x3Q3z3B3l0O3W2{3Y3s040A0p3%3H2Q3Z3L0A2?192^3w3(3:3*0A313^331h2Z182N2A0j2E360i1Z201g451j432%402w054a0W2!3X3:0M0=0W0l3o3G360L2;4u3P3|0l0=1.0z0/2t4i4n3{1^0;040E4z4o2,4D1r0d0K4P4K1N4M0D3o0s4v3y0t0=1U0C0v0k4W3/4L0=0T0J3v0s4_4$4A4R042S1q0i0C0b0e2S0l0C0z0N0C0k0z4#4%3Y0d0=0H5d4|4Y0=0Q0P4^4`5e3|0=4 0N51530C0n395j4Q1N5g045i4I4{5C0-4M5n5p4_5r4}5u5w0e0_0w57595b5B4X0-5E5G2#5I5!015L5o4I064`5)4:1N4q040l3A5Z5=3j5t5{360d4x4~175H5P2}0h0=0z1/0n0C4/364M4O4I663j6804276e3y6g6o3)4*0v1I4,4.6i5k5K4=4?5N5:5;365@0N4t656z376t6v4-6r3:5L6Q5Q6T5l045-5(6j015E020q0K0g5 4(4S0m4U6V6A044@5.6E6^6F6,635052540t56585a5c6y5J6#0=0y6:6M040v0w5V0t0j7a6q755*4)4~7i4=6D5:6!5@0C1B6J6Z6L7m4+6P7k5|5+5m7a7m0N7o6X6+5f0=020n6)7L5s040w4T4V7C6f0=6?2#5/6_7r7y5t7g5v6~5U5W737a5E797X6{7d7f7h7@3Y7j2%7)7n7|6R7p6@6_7s0=7u0b6d824;6=7q86805R6~5y5A8c5D787G0=7_1|7{7 767~2^6!7H7J0T6D87042q0K5b647x8v0=6h8u7l7*6}53557/5Y8m6;4!6K767H7+5S8k0q7J8X8J8O6|7,537.728U8N7D4M8B5.184l0C2x2Y8}441r462A2C2y1Y1!2A6u1J2x450@0o0W0Y0!0b04.