Во время кодирования я заметил, что значения элементов списка 2D-чисел, которые я использовал, менялись после включения их в деление.
import random
centroids = [[] for _ in range(3)]
maxes = []
mins = []
maxes.append(5)
mins.append(2)
maxes.append(10)
mins.append(4)
maxes.append(20)
mins.append(8)
maxes.append(40)
mins.append(16)
for i in range(0, 4):
centroids[0].append(round(random.uniform(mins[i], maxes[i]), 4))
centroids[1].append(centroids[0][i])
while centroids[1][i] == centroids[0][i]:
centroids[1][i] = round(random.uniform(mins[i], maxes[i]), 4)
centroids[2].append(centroids[1][i])
while centroids[2][i] == centroids[1][i]:
centroids[2][i] = round(random.uniform(mins[i], maxes[i]), 4)
totals = list(centroids)
totals[0][0] = totals[0][0] + 10
print(totals[0][0])
centroids[0][0] = totals[0][0] / 2
print(totals[0][0])
Пример вывода, который дает печать:
13.7442
6.8721
Проблема в том, что значение итогов [0] [0] изменяется, когда я использую его для вычисления значения центроидов [0] [0].
Я что-то упускаю из виду, почему это происходит?