Copie d'un tableau

On s'intéresse dans cet exercice à des tableaux ne contenant soit que des nombres entiers soit que de chaînes de caractères.

Lorsque l'on souhaite réaliser une copie d'un tableau, le premier réflexe est de procéder par affectation :

🐍 Console Python
>>> valeurs = [10, 11, 12]
>>> copie = tableau
>>> copie
[10, 11, 12]

Par cette méthode, on ne crée pas réellement une copie du tableau. En réalité on obtient deux variables qui désignent le même tableau : on parle alors de copie de référence ou par alias.

affectation

Ainsi la modification d'un élément de la variable copie entraînera la modification de ce même élément dans valeurs.

🐍 Console Python
>>> copie[1] = 0
>>> copie
[10, 0, 12]
>>> valeurs
[10, 0, 12]

On demande d'écrire une fonction copie_superficielle qui crée une vraie copie d'un tableau passé en attribut. Pour ce faire, on créera un nouveau tableau et on y affectera un à un les éléments du tableau initial.

copie

Exemples
>>> tableau_1 = [1, 2, 3]
>>> copie = copie_superficielle(tableau_1)
>>> copie == tableau_1  # les deux tableaux sont identiques
True
>>> tableau_1[0] = 0  # on modifie l'un...
>>> copie             # ... sans modifier l'autre
[1, 2, 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
.128013:Lpbv%(40i2zedmx3;sNU= 1ow5_lSAnatf-)h]R,qcrg.6*[éyPCku/050o0n0I0H0k0D0t0x0R0D0H0t0t0w010I0k0d010406050t0%0p0p0H0S0Z040E0z0D0%0|0z0G0x020H0p0d0s0x0O0n160S0Q0%0n0t050(13151719110d041x1E051H0(1H1J1E110o0k0f0;0?0^0`0M0k0T0M0D1X0M0I0 050,0e0D0n1S0@0_011W1Y1!1Y0I1*1,1(0I0e0z0o191)0S1F0I0M0;1c0t0d0H0G0`0l011.1U010J0.0n0G1k0n1(292b2g1:2j1,2m0p2o040a0x0!0S0z0d0z0t0k1f1h0*270S0S0n0R2J1x2q0G1F0(252V0I2322240o2s0`1!0G2l2G1(1P1R0=1/2)0k2+0G1 1Q1(0d2O1F2T2V30122a1h2;2h2_0S160D0 0y2S3410332r361:383a0 0l3e2b3g2T2(013l0H3b040r3p2U1G2~1x2/2Y0o2$3t0R1 2y0)1Q1F2}0n2 3f3A1F3K0*3S3i1T1:0$0 0*0J3U3h353!0`0A0 0x3*3s3j0`0G0J0 3K0d0k0n0C130d0n0S2j0R3~0D1,3=343t0~040h4a3Z2=3u0 1`0n0H0%4g3,4i4d0b3U3;3?3-3u0e0 1!0t0I4p4c0 0L4t1y3f060x4M4v4b3@4j042_0%0f4m4o4J3q4O4h2h0z0 0w4u3+4F040X4E4Q0G0 0n1,2x0G4D4Y2U4!4q2h3$040J0z0S4*4w4i4;044?1q2l4`304}3t0z3/042@554P4x584l4n4/4x4d0N3U4L4N4+4Q502O0I0%0S0G5l4#3k0 4T4V5q4{3g0(3W3R3C5R0(3F1x0I3H5W2!2W1~202Y0H1+5T3F1D3Y4~1:2O0p0C0J0H0$3 0M0r0 1p1r1t1v0x4I321K3g1E0v2+0x4n2Z1-0t1c1e0k1g0x2F0^0k5*0x2l0x6g4B2b0I6q691~0%0=1-4I1N3N2:4x1=1Z1#1%5.3t2u2l2n0 2A0E0R0S0}6u0!0Z251g3*3Q5.313T5Q6K5z3%0n3)5N5y4x5i3;6/56373`043|3~400%42440k464?496@5m4r0 4f765H3^4k5)1,5M326^1:4d4H5v4N5f4:7e0.755e6:4i4%044)5N7p5n4z042v5r784e7G377e5*7h3T7j0`7l7n5x7P4R5K4W5G5/0`7x7z7u7U4d4.7b7Z010$0R0 0u1g0n7J7k0 5u7A7v4$0 0W7Y3t5o0-487?7A0x5w4M7|3#0 52547{7U580k804Q5h0 5k8f77377D0S2b0T857i8p7^7I7+817r847@7Q4G634K7o7o8a7d4S0z4U7X8A4Q7)8E4R8i8R5s7_8j4x7#8!577L7g4X8w7c018T8X8(5j8U5t7S897U5A0+5D5F8o8-587W7N3q115P3L2V6#3E3O5-0F1_5c6h0G0P0x0?273}1-0S0Y3w0k0t0Y1-720k6o4C0x0e3~1h122Z1g0T04414345477t9E0G9G620x6i0H9z9B0;9o0Y6v0x920%0x5p0%9i0o2b0:0%697W840x0m7=0x0p0Y0p0z0k2O9i169r9R1h9T0t0n0%4@5c9l0k9Y1,0:9o0J0Y2O0G0R610*0:0Y0D9`5c0:3K4_2l0%0:9+0G0:1,9%7f4W0x2@2I0k3w0U1G66040#0+0I6d6f2J9x6u0o1g0RaFaz0%0J2j0t6t1-0D530t1t000.0x0t000H0T9}9T2L6|439Z9(0x2L9(0q62aL5-059T4Q0T1@1$1~0q2f9+0,0K0I0Z420`0k168ubf0Hbh0A0k0o250`6b4%b0br0H0K0M0n6Ibx1ebz0M2O0J0`a|0C1*0U0t0f0Tbqbham0R0K6kaH1g0`1~1_0z0p1(bn0T6a0D0IbN2E6}1*2f4Qbybb6uakau0S2f0t0S0Rb=9mbP5)bRbT2fbtbv0M2d0B0g1(0(0H983g2/3t6Gb|2p8x0`6M2w2y2A0#1g6eaB6W6Y8~329964326)8L010T4d020T0I0scOcQcS1n8U580f3wa60S1w8 7,8$c%4,0X7*8,7,0p0k3c0j8?0 0P8%2hc:3c3d8:2h4dc_c*4Qc|040y3oc 8y0Nd27%cs8.0 c-7Oded50y0ic@04dc3f7B4idk0Bdndp4ZcKdk0Vdn0N7`30117UcM0 cUdJcPcVd98Ma|c`1:c)dd903{b?3 9I71738DdNdf8zc.8B04cY1,5Dc$d)8S4G5vcKdH04dKcTdL6?d:5n0 d,c!d/di8-8/d~dsc;d6dBdh3qdye9c~e7d08Zd38#4(dQ0`d5c?5NdFded^d`cRd|cWdV9md?dG7xc,0y0j9i0y0yeH0ldb0x0Xdl9ieG0x0y0VdCd?963X5S2V5,1I040c9T52ajaT9T9A6p6S0Y9Y0*0%b3b2b09r0|e+0t9 0-aA61e_a.0.as1g0|2l2^6u6e4_27159.0:4nb3e?0q0U0x0F2@2H0x1t2b2%6i9{1P2j1-9.0xaoaqfd2L056)e1d.1x6)9ia:1v6u0Y0TcZ4^b}0M8te=9,3;6)dPeX3RaK65950*0,f504.