In [1]:
from ljouhet import affiche

Matrice nulle

In [15]:
# NON

def matrice_nulle_NON(n, p):
    return [[0]*p]*n

m = matrice_nulle_NON(2, 3)
m[0][1]=2
print(m)
affiche("m")
[[0, 2, 0], [0, 2, 0]]
Out[15]:
G m m 139666680081736 m:s->139666680081736:w 139666679796552 0 2 0 139666680081736:s->139666679796552:w 139666680081736:s->139666679796552:w
In [16]:
# OUI

def matrice_nulle(n, p):
    return [[0]*p for i in range(n)]

m = matrice_nulle(2, 3)
m[0][1]=2
print(m)
affiche("m")
[[0, 2, 0], [0, 0, 0]]
Out[16]:
G m m 139666679401800 m:s->139666679401800:w 139666679887752 0 2 0 139666679401800:s->139666679887752:w 139666679885896 0 0 0 139666679401800:s->139666679885896:w

Copie

In [17]:
# NON 1

def copie_NON1(m):
    return m

a = [[1, 2, 3], [4, 5, 6]]
b = copie_NON1(a)
a[0][0] = 100
b[1][1] = -7
print(a, b)
affiche("a b")
[[100, 2, 3], [4, -7, 6]] [[100, 2, 3], [4, -7, 6]]
Out[17]:
G a a 139666679830856 a:s->139666679830856:w 139666679799240 100 2 3 139666679830856:s->139666679799240:w 139666679399240 4 -7 6 139666679830856:s->139666679399240:w b b b:s->139666679830856:w
In [18]:
# NON 2

def copie_NON2(m):
    return [x for x in m]

a = [[1, 2, 3], [4, 5, 6]]
b = copie_NON2(a)
a[0][0] = 100
b[1][1] = -7
print(a, b)
affiche("a b")
[[100, 2, 3], [4, -7, 6]] [[100, 2, 3], [4, -7, 6]]
Out[18]:
G a a 139666679419272 a:s->139666679419272:w 139666679797832 100 2 3 139666679419272:s->139666679797832:w 139666679831176 4 -7 6 139666679419272:s->139666679831176:w b b 139666679906760 b:s->139666679906760:w 139666679906760:s->139666679797832:w 139666679906760:s->139666679831176:w
In [20]:
# OUI 1

def copie_OUI1(m):
    return [x[:] for x in m]

a = [[1, 2, 3], [4, 5, 6]]
b = copie_OUI1(a)
a[0][0] = 100
b[1][1] = -7
print(a, b)
affiche("a b")
[[100, 2, 3], [4, 5, 6]] [[1, 2, 3], [4, -7, 6]]
Out[20]:
G a a 139666679831880 a:s->139666679831880:w 139666679830792 100 2 3 139666679831880:s->139666679830792:w 139666679906760 4 5 6 139666679831880:s->139666679906760:w b b 139666679420872 b:s->139666679420872:w 139666679849032 1 2 3 139666679420872:s->139666679849032:w 139666679829320 4 -7 6 139666679420872:s->139666679829320:w
In [21]:
# OUI 2

def copie(m):
    n, p = len(m), len(m[0])
    resultat = matrice_nulle(n, p)
    for i in range(n):
        for j in range(p):
            resultat[i][j] = m[i][j]
    return resultat

a = [[1, 2, 3], [4, 5, 6]]
b = copie(a)
a[0][0] = 100
b[1][1] = -7
print(a, b)
affiche("a b")
[[100, 2, 3], [4, 5, 6]] [[1, 2, 3], [4, -7, 6]]
Out[21]:
G a a 139666679797832 a:s->139666679797832:w 139666679399880 100 2 3 139666679797832:s->139666679399880:w 139666679799240 4 5 6 139666679797832:s->139666679799240:w b b 139666679888456 b:s->139666679888456:w 139666679460808 1 2 3 139666679888456:s->139666679460808:w 139666679828808 4 -7 6 139666679888456:s->139666679828808:w
In [ ]: