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

.128013b];=wlSd[f-:431(gnah.p/uerovm)6 72i,y9c8s_Ptk05050i0z0S0t0J0g0P0G0N0g0t0P0P0e010S0J0w010406050P0y0D0D0t0A0L040h0B0g0y0:0B0s050x0`0|0~100^0w04051g191j0x1g0^0i0J0C0(0*0,0.0*0s0r0y0t0r0z0l0w0L0S0u170G0u0J0r0u0g1L0u0S0?050Z0b0g0z1s0+0-011K1M1O1M0S1U1W1S0S0A1h1G0(130P0w0t0s0.0I011Y1u010k0#0z0s0t0D0z1S1@1_1~1!211W24260?0a0G0R0A0B0w0B0P0J160s0G0X1=0A0A0z0N2r19290s1h0x1G2E1.1:1/1T0i2b1v0J0s232o1S1p1r0)1Z2O2Q0s0B2U1S0w2x1h2C2E2+0_1^2s2W1 2!0A0}0g1S0t1J2x0k0.030Q0Q0N2#0z1O2Z0B0l0p390?0G0p190t2,2/0@2.2a2;1!2?2^2`2|0z2~01303234362R390l1|040G0I3f3h1_3j2C2N013o0t2_1h2{0u2}2 31330X3y2!3A0o3c0o3G2B3i0^3K3m0.3N3P053R3T3u3V3x2P3z3a0n3c0n3(1a3*3k2:1t3n0B2@3O3q3S3s3U3w3X3`3Z3a0V3c0V402+3+2/3L3/4a3?3v3W354g383a0F3c0F4m423,453.473p3Q3r3t4u3_373A0H3c0H4D3I4o3l4G3M4I494K4b4M3^4f4P3a0O3c0O4U2D4W442X4Z483:3=4c3@4e4w4+0l0M3c0M4:3J4p3-4^4J3;4L4d4v3Y4y390U0?0p0U554=4q4!4`5c4}5e4x3A0p0p5j3e0x3g3)4V435o4_4s4|4N4*3{393C0p3F5A3H2D1k2)192U2H0i1:2M584v2T1q1h2(0z2*3i5C5S4v5,2a0J0i0.312C5v3q5?5^4~5f5{0G2f0z5~5t505x2E5B4F4@0T0?0X0k5.5;4?1 0f3c6h5E580s0k0?1^0A0:2A413I6o4Y0=040q6n6b2=6s1q0B0S6E576A0?0K6h0G6z4@0s0?1+0z0t0y6L4X4@6B0E0m6h0^6x5S3K5}015_2/3A3C5b6/4)4 5L1|6225646:5 5u3a6@5Q0G776R6F3n0?2P1p0N0z0P0Q2P0k0z0A0J0z0y0A6Q6S1 0B0?0e7r7a0.6B0j0c6*6!2s6_0Q5`3a3#4K7G665L3#6~26654O7O1S76787s7b047d0J7f7h0z0r3O7x6M4@7u047w6,3D7Y7z0?7B7D7=5E7G7I0l3}7L5@717N4h801}637S5K86813G78797-6G7!0s7e7g7H0y0w7l7n7p7,6#7t7v8t6j1!7A7C7=6+2-6.836;1_3A4j828a6{864j7Q706`604i7V3g8f7@016d040k478x4q7c8(580B6l8j8+4Y0s0b0?0A1_1B7E3L6B6D7|7y3M8?042e8{588}958;6V0t1V6X6Z8 8h8z0?0E6(7{8E4p7~6=4z5|8G72504A8Q8M8T0l4A693D8f7X908!0J6g7=8g8u7Z6W6Y986$7_9P8i0J9S9h048B2+9K8y0.7/020g0S0d8:6T6H0C6J9V7^046)8C8{9o8I3a4R8L847T864R9w9 8b5g9}8e9Da98Y6U8j8l7h7j8q7o7q9f9L9$0?0v9;3M0?0t0w8p8kap97ak9#aq7!aw9i9l5-8F5~7 4-9~8S730l4-a3aL50aJa8aa9F0?4w9I9Zab9a9c9Oay8|9Ra(6p8*a+6N9X9,8v04020r9*a;7Z0w6I6Ka.9Q9?aE6yaG717 52aK9t5L52aPb986b7aTa99E9g3.7c8k7$8m0`8p7maiap7/aoa 8iasau0iaC6Capac9Ubw9W0Eb26-9n9s7 5k9r9xaMbObc855gbO9Bbh9!3L8!350P0zbB9@4n9_bM9p39686^9sbU5v5xbTa0bVb:7WbY77a!adbn7(7*0gbtanbDarat23bAbG9=8~9malaAbFcgaz6%bJ6i0G9`0s5v6@2{7Mb`cs886 bQ67758Wbich8!2x0S7p189J8Yaxck8)c17%7i6qah8scd016B6PcL90bEbmcR7)7+cWcYa`bkcQbo8ocUajcO96aD9^7|0x5:5T5+5V5(190S5Yd22K2F9b1W2E5W6+0X0Z0#0P04.