Каждая переменная в python (например, как dict1
или str
или __builtins__
является указателем на некоторый скрытый платонический «объект» внутри машины.
Если вы установите dict1 = dict2
, вы просто укажите dict1
на тот же объект (или местоположение памяти или любую другую аналогию, которая вам нравится), как dict2
. Теперь объект, на который ссылается dict1
, является тем же объектом, на который ссылается dict2
.
Вы можете проверить: dict1 is dict2
должен быть True
. Кроме того, id(dict1)
должен быть таким же, как id(dict2)
.
Вы хотите dict1 = copy(dict2)
или dict1 = deepcopy(dict2)
.
Разница между copy
и deepcopy
? deepcopy
будет гарантировать, что элементы dict2
(вы указали его в списке?) также являются копиями.
't использовать deepcopy
много - это, как правило, плохая практика писать код, который ему нужен (на мой взгляд).
Кажется, мне удалось найти решение для этого:
results<-matrix(NA,nrow(FareStageMatrix))
for (i in 1:nrow(FareStageMatrix)){
for (i in 1:nrow(LSOACentroidMatrix)){
r1<-FareStageMatrix[i,]
r2<-LSOACentroidMatrix[i,]
results[i]<-distm(r1, r2, fun=distHaversine) ## Example function
}
}
где FareStageMatrix и LSOACentroidMatrix являются матрицами с координатами
Кажется, что он рассчитал одно расстояние для данной пары точек