У меня есть вложенный список, в котором каждый подсписок структурирован следующим образом: [[xcor ycor] weight]
. Каждый тик, я хотел бы обновить вес в выборке этих подсписок.Изменение отфильтрованных значений во вложенном списке
производит образец (например, размер 2) из вложенного списка total
, используя расширение Rnd (и очень helpful answers/comments):
set total [ [[0 1] 1] [[2 3] 2] [[4 5] 3] [[6 7] 4] [[0 1] 1] ]
set sample rnd:weighted-n-of 2 total [ last ? ]
Затем я обновляю весы в образце (скажем, умножив их 2) и сопоставить их с их соответствующим [xcor ycor] -парном.
let newWeights (map [last ? * 2] sample)
let updatedSample (map list (map [first ?] sample) newWeights)
Как я могу затем заменить эти записи в total
, имея в виду, что он может содержать повторяющиеся записи?
Это, кажется, идеальная работа для replace-item
, но я не знаю, как построить соответствующий индекс, а затем передать соответствующее значение от updatedSample
.
Что должно произойти в случае дублирования ключей (ключи являются '[xcor ycor]' pair)? –
@BryanHead Вес всех дубликатов ключей должен быть изменен в 'total', если этот ключ содержится в' updatedSample'. Извините за то, что я не понимаю. – Dave