Usage Example:
> (product '() '())
NIL
> (product '(1 2) '(1 2 3))
((1 1) (1 2) (1 3) (2 1) (2 2) (2 3))
Implementation:
(defun product (list1 list2) (let (templist '()) ;;iterate through the first list (dolist (item1 list1) ;;iterate through the second list (dolist (item2 list2) ;;create a list from the current items and push it onto the temporary list;; (push (list item1 item2) templist) ) )
;;reverse the temporary list to display it correctly (nreverse templist) ))
No comments:
Post a Comment