Une simple boucle pour remplir une simple liste
Bonsoir à tous,
J'aimerais économiser quelques octets de mon programme qui remplit une liste n*2 (une matrice n*2 quoi).
Mais cela ne fonctionne pas.
Voici la fonction qui fonctionne (:aie:) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| from random import*
def Numero1(n):
L = [None]*n
for i in range (n):
L[i] = [None]*2
for k in range (n):
x,y = randint(50,750),randint(50,750)
L[k][0], L[k][1] = x,y
print(L)
Numero1(6) |
Et voici comment je la modifie :
Code:
1 2 3 4 5 6 7 8 9 10 11 12
| from random import*
def Numero2(n):
L = [[None]*2]*n
for k in range (n):
x,y = randint(50,650),randint(50,650)
L[k][0], L[k][1] = x,y
print(L)
Numero2(6) |
Quand je compare les deux, cela remplit ma liste du même x et du même y (:calim2:) :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25
| from random import*
def Numero1(n):
L = [None]*n
for i in range (n):
L[i] = [None]*2
for k in range (n):
x,y = randint(50,750),randint(50,750)
L[k][0], L[k][1] = x,y
print(L)
def Numero2(n):
L = [[None]*2]*n
for k in range (n):
x,y = randint(50,650),randint(50,650)
L[k][0], L[k][1] = x,y
print(L)
Numero1(6)
print()
Numero2(6) |