C'est idiot, mais je ne connais pas de moyen de copier intégralement un tableau à plusieurs (ici deux) dimensions en Python autre que de définir à la main une fonction du genre :
def CopieTableau(A):
T=[]
for i in A:
T+=[i[:]]
return T
N'y a-t-il pas ce genre de fonction directement dans le langage, ou alors un module qui le fasse plus rapidement (surtout si je veux travailler sur de grands tableaux), comme le fait par exemple Numpy avec son type interne "matrice" qui est finalement très semblable ?
Pour ceux qui ne connaissent pas Python et ne verraient pas le problème : si A=[[1,2,3,...],[...],...,[...]] en faisant
B=A, Python copie une dimension du tableau, or A[x] est une référence vers un tableau à une dimension et non le tableau lui-même, ce qui fait qu'en pratique modifier B revient ensuite à modifier A. Ce que je veux, c'est laisser A inchangé, donc affecter un nouvel espace mémoire au tableau et le recopier intégralement.
[
catwell.info]
Poste le Saturday 13 January 2007 17:50:54