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.
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.
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]
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
.128013buS-[,3_.l4(wnx/R)paPkéz0;:LhorCs1*vc25qmA6gyd]%ieNUft =050U0Y0$0u0X0k0H0%0L0k0u0H0H0(010$0X0t010406050H0c0P0P0u0F0T040d0E0k0c0|0E0o0%020u0P0t0A0%0r0Y160F0O0c0Y0H050q13151719110t041x1E051H0q1H1J1E110U0X0K0;0?0^0`0D0X0S0D0k1X0D0$0 050,0b0k0Y1S0@0_011W1Y1!1Y0$1*1,1(0$0b0E0U191)0F1F0$0D0;1c0H0t0u0o0`0M011.1U010#0.0Y0o1k0Y1(292b2g1:2j1,2m0P2o040a0%0v0F0E0t0E0H0X1f1h0*270F0F0Y0L2J1x2q0o1F0q252V0$2322240U2s0`1!0o2l2G1(1P1R0=1/2)0X2+0o1 1Q1(0t2O1F2T2V30122a1h2;2h2_0F160k0 0I2S3410332r361:383a0 0M3e2b3g2T2(013l0u3b040h3p2U1G2~1x2/2Y0U2$3t0L1 2y0)1Q1F2}0Y2 3f3A1F3K0*3S3i1T1:0w0 0*0#3U3h353!0`0n0 0%3*3s3j0`0o0#0 3K0t0X0Y0i130t0Y0F2j0L3~0k1,3=343t0~040m4a3Z2=3u0 1`0Y0u0c4g3,4i4d0B3U3;3?3-3u0b0 1!0H0$4p4c0 0s4t1y3f060%4M4v4b3@4j042_0c0K4m4o4J3q4O4h2h0E0 0(4u3+4F040f4E4Q0o0 0Y1,2x0o4D4Y2U4!4q2h3$040#0E0F4*4w4i4;044?1q2l4`304}3t0E3/042@554P4x584l4n4/4x4d0V3U4L4N4+4Q502O0$0c0F0o5l4#3k0 4T4V5q4{3g0q3W3R3C5R0q3F1x0$3H5W2!2W1~202Y0u1+5T3F1D3Y4~1:2O0P0i0#0u0w3 0D0h0 1p1r1t1v0%4I321K3g1E0!2+0%4n2Z1-0H1c1e0X1g0%2F0^0X5*0%2l0%6g4B2b0$6q691~0c0=1-4I1N3N2:4x1=1Z1#1%5.3t2u2l2n0 2A0d0L0F0}6u0v0T251g3*3Q5.313T5Q6K5z3%0Y3)5N5y4x5i3;6/56373`043|3~400c42440X464?496@5m4r0 4f765H3^4k5)1,5M326^1:4d4H5v4N5f4:7e0.755e6:4i4%044)5N7p5n4z042v5r784e7G377e5*7h3T7j0`7l7n5x7P4R5K4W5G5/0`7x7z7u7U4d4.7b7Z010w0L0 0Z1g0Y7J7k0 5u7A7v4$0 0J7Y3t5o0-487?7A0%5w4M7|3#0 52547{7U580X804Q5h0 5k8f77377D0F2b0S857i8p7^7I7+817r847@7Q4G634K7o7o8a7d4S0E4U7X8A4Q7)8E4R8i8R5s7_8j4x7#8!577L7g4X8w7c018T8X8(5j8U5t7S897U5A0+5D5F8o8-587W7N3q115P3L2V6#3E3O5-0Q1_5c6h0o0g0%0?273}1-0F0x3w0X0H0x1-720X6o4C0%0b3~1h122Z1g0S04414345477t9E0o9G620%6i0u9z9B0;9o0x6v0%920c0%5p0c9i0U2b0:0c697W840%0y7=0%0P0x0P0E0X2O9i169r9R1h9T0H0Y0c4@5c9l0X9Y1,0:9o0#0x2O0o0L610*0:0x0k9`5c0:3K4_2l0c0:9+0o0:1,9%7f4W0%2@2I0X3w0j1G66040G0+0$6d6f2J9x6u0U1g0LaFaz0c0#2j0H6t1-0k530H1t000.0%0H000u0S9}9T2L6|439Z9(0%2L9(0p62aL5-059T4Q0S1@1$1~0p2f9+0,0e0$0T420`0X168ubf0ubh0n0X0U250`6b4%b0br0u0e0D0Y6Ibx1ebz0D2O0#0`a|0i1*0j0H0K0Sbqbham0L0e6kaH1g0`1~1_0E0P1(bn0S6a0k0$bN2E6}1*2f4Qbybb6uakau0F2f0H0F0Lb=9mbP5)bRbT2fbtbv0D2d0N0W1(0q0u983g2/3t6Gb|2p8x0`6M2w2y2A0G1g6eaB6W6Y8~329964326)8L010S4d020S0$0AcOcQcS1n8U580K3wa60F1w8 7,8$c%4,0f7*8,7,0P0X3c0z8?0 0g8%2hc:3c3d8:2h4dc_c*4Qc|040I3oc 8y0Vd27%cs8.0 c-7Oded50I0lc@04dc3f7B4idk0Ndndp4ZcKdk0Rdn0V7`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,0I0z9i0I0IeH0Mdb0%0fdl9ieG0%0I0RdCd?963X5S2V5,1I040C9T52ajaT9T9A6p6S0x9Y0*0cb3b2b09r0|e+0H9 0-aA61e_a.0.as1g0|2l2^6u6e4_27159.0:4nb3e?0p0j0%0Q2@2H0%1t2b2%6i9{1P2j1-9.0%aoaqfd2L056)e1d.1x6)9ia:1v6u0x0ScZ4^b}0D8te=9,3;6)dPeX3RaK65950*0,f504.
# Tests(insensible à la casse)(Ctrl+I)
(Alt+: ; Ctrl pour inverser les colonnes)
(Esc)