Je ne savais pas que ...
JavaScript
const data_list = [];
let data = [];
data[0] = 0;
data[1] = 1;
data[2] = 2;
data_list.push(data);
console.log('data:', data); // [0, 1, 2]
console.log('data_list:', data_list); // [[0, 1, 2]]
// data = [];
data[0] = 3;
data[1] = 4;
data[2] = 5;
data_list.push(data);
console.log('data:', data); // [3, 4, 5]
console.log('data_list:', data_list); // [[3, 4, 5], [3, 4, 5]]
Python
data_list = []
data = [0, 0, 0]
data[0] = 0
data[1] = 1
data[2] = 2
data_list.append(data)
print ('data: ', data) # [0, 1, 2]
print ('data_list: ', data_list) # [[0, 1, 2]]
# data = [0, 0, 0]
data[0] = 3
data[1] = 4
data[2] = 5
data_list.append(data)
print ('data: ', data) # [3, 4, 5]
print ('data_list: ', data_list) # [[3, 4, 5], [3, 4, 5]]
Si vous y réfléchissez, cela semble évident, mais comme les adresses du tableau ajouté la première fois et le tableau ajouté la deuxième fois sont les mêmes, elles auront la même valeur au moment où elles seront référencées. Afin de sortir le résultat attendu «[[0, 1, 2], [3, 4, 5]]», il est nécessaire d'initialiser le tableau à un moment approprié.
N'écrasez pas le contenu du tableau en arrêtant de penser. Même si vous utilisez un langage de script, faites attention à la mémoire lorsque vous utilisez des tableaux.
Au fait, j'ai enterré les données qui étaient censées être collectées dans l'expérience par cette méthode dans le noir (pleurer) (stupide)
Recommended Posts