以下のlist1から「list2にマッチしないリスト」listUniqFromList2と、「list2とのマッチを先頭に移動させたリスト」listSortByList2
をそれぞれ作りたいのですが、以下のようにループでいちいち要素を判定するよりもっと簡単な書きかたはできますか?
(while (< i (length list1)) <中略> (setq i (+ i 1)))

(setq list1 '("1" "2" "3" "4"))
(setq list2 '("2" "3"))

;;(setq listUniqFromList2 '("1" "4")) ;;作りたいリスト
;;(setq listSortByList2 '("2" "3" "1" "4")) ;;作りたいリスト