Вы также можете попробовать
(doseq [[x y] (map list my-list1 my-list2)]
(println x y))
(map list list-2 list-2)
создает список, где первый элемент представляет собой список первых элементов входных списков, второй элемент представляет собой список вторых элементов,...
Затем мы перебираем список, используя деструктуризацию Clojure для извлечения элементов из исходных списков.
В общем, вы хотите map
, если хотите использовать возвращаемое значениефункция, которую вы применяете.Если вы просто выполняете функцию для ее побочных эффектов, я обычно использую doseq
.Этот случай усложняется тем фактом, что map
работает параллельно, в то время как doseq
выполняет итерацию по декартову произведению из списков, которые ему даны, поэтому вам нужно и map
, и doseq
, чтобы получитьповедение, которое мы хотим.