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

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

.128013vt4=8fw2pmuP(751,:cSsr]k[63;0 dg)/n9iyelh_boa.-050F0N0c0T0L0O0v0E0t0O0T0v0v0e010c0L0j010406050v0l0k0k0T0w0M040u0S0O0l0:0S0J050I0`0|0~100^0j04051g191j0I1g0^0F0L0b0(0*0,0.0*0J0G0l0T0G0N0V0j0M0c0P170E0P0L0G0P0O1L0P0c0?050Z0R0O0N1s0+0-011K1M1O1M0c1U1W1S0c0w1h1G0(130v0j0T0J0.0i011Y1u010g0#0N0J0T0k0N1S1@1_1~1!211W24260?0a0E0m0w0S0j0S0v0L160J0E0X1=0w0w0N0t2r19290J1h0I1G2E1.1:1/1T0F2b1v0L0J232o1S1p1r0)1Z2O2Q0J0S2U1S0j2x1h2C2E2+0_1^2s2W1 2!0w0}0O1S0T1J2x0g0.030Q0Q0t2#0N1O2Z0S0V0q390?0E0q190T2,2/0@2.2a2;1!2?2^2`2|0N2~01303234362R390V1|040E0i3f3h1_3j2C2N013o0T2_1h2{0P2}2 31330X3y2!3A0B3c0B3G2B3i0^3K3m0.3N3P053R3T3u3V3x2P3z3a0d3c0d3(1a3*3k2:1t3n0S2@3O3q3S3s3U3w3X3`3Z3a0p3c0p402+3+2/3L3/4a3?3v3W354g383a0A3c0A4m423,453.473p3Q3r3t4u3_373A0o3c0o4D3I4o3l4G3M4I494K4b4M3^4f4P3a0f3c0f4U2D4W442X4Z483:3=4c3@4e4w4+0V0K3c0K4:3J4p3-4^4J3;4L4d4v3Y4y390D0?0q0D554=4q4!4`5c4}5e4x3A0q0q5j3e0I3g3)4V435o4_4s4|4N4*3{393C0q3F5A3H2D1k2)192U2H0F1:2M584v2T1q1h2(0N2*3i5C5S4v5,2a0L0F0.312C5v3q5?5^4~5f5{0E2f0N5~5t505x2E5B4F4@0y0?0X0g5.5;4?1 0h3c6h5E580J0g0?1^0w0:2A413I6o4Y0=040n6n6b2=6s1q0S0c6E576A0?0r6h0E6z4@0J0?1+0N0T0l6L4X4@6B0H0s6h0^6x5S3K5}015_2/3A3C5b6/4)4 5L1|6225646:5 5u3a6@5Q0E776R6F3n0?2P1p0t0N0v0Q2P0g0N0w0L0N0l0w6Q6S1 0S0?0e7r7a0.6B0z0x6*6!2s6_0Q5`3a3#4K7G665L3#6~26654O7O1S76787s7b047d0L7f7h0N0G3O7x6M4@7u047w6,3D7Y7z0?7B7D7=5E7G7I0V3}7L5@717N4h801}637S5K86813G78797-6G7!0J7e7g7H0l0j7l7n7p7,6#7t7v8t6j1!7A7C7=6+2-6.836;1_3A4j828a6{864j7Q706`604i7V3g8f7@016d040g478x4q7c8(580S6l8j8+4Y0J0R0?0w1_1B7E3L6B6D7|7y3M8?042e8{588}958;6V0T1V6X6Z8 8h8z0?0H6(7{8E4p7~6=4z5|8G72504A8Q8M8T0V4A693D8f7X908!0L6g7=8g8u7Z6W6Y986$7_9P8i0L9S9h048B2+9K8y0.7/020O0c0C8:6T6H0b6J9V7^046)8C8{9o8I3a4R8L847T864R9w9 8b5g9}8e9Da98Y6U8j8l7h7j8q7o7q9f9L9$0?0U9;3M0?0T0j8p8kap97ak9#aq7!aw9i9l5-8F5~7 4-9~8S730V4-a3aL50aJa8aa9F0?4w9I9Zab9a9c9Oay8|9Ra(6p8*a+6N9X9,8v04020G9*a;7Z0j6I6Ka.9Q9?aE6yaG717 52aK9t5L52aPb986b7aTa99E9g3.7c8k7$8m0`8p7maiap7/aoa 8iasau0FaC6Capac9Ubw9W0Hb26-9n9s7 5k9r9xaMbObc855gbO9Bbh9!3L8!350v0NbB9@4n9_bM9p39686^9sbU5v5xbTa0bVb:7WbY77a!adbn7(7*0ObtanbDarat23bAbG9=8~9malaAbFcgaz6%bJ6i0E9`0J5v6@2{7Mb`cs886 bQ67758Wbich8!2x0c7p189J8Yaxck8)c17%7i6qah8scd016B6PcL90bEbmcR7)7+cWcYa`bkcQbo8ocUajcO96aD9^7|0I5:5T5+5V5(190c5Yd22K2F9b1W2E5W6+0X0Z0#0v04.