В настоящее время я пытаюсь порта некоторого Scala код проекта Python, и я наткнулся на следующем битый Scala кода:Python эквивалент ленивого Вала Скала
lazy val numNonZero = weights.filter { case (k,w) => w > 0 }.keys
weights
является действительно длинным списком кортежей и их взвешенное взвешенное значение. Элементы часто добавляются и удаляются из этого списка, но проверка того, сколько элементов имеет ненулевую вероятность, относительно редка. Есть несколько других редких, но дорогостоящих операций, подобных этому в коде, который я переношу, который, похоже, очень выгоден от использования lazy val
. Какой самый идиоматический способ Python сделать что-то похожее на Scala's lazy val
?
Может ли они использоваться для атрибутов класса? – shuttle87
@ shuttle87, я не понимаю, что вы имеете в виду. – falsetru