Here's a command that uses \; by default, but you can select another separator as you wish; for instance, I frequently use no separator when the set is “small” (up to 9, you see it in the second example):
\documentclass{article}
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\cycle}{ O{\;} m }
{
(
\alec_cycle:nn { #1 } { #2 }
)
}
\seq_new:N \l_alec_cycle_seq
\cs_new_protected:Npn \alec_cycle:nn #1 #2
{
\seq_set_split:Nnn \l_alec_cycle_seq { , } { #2 }
\seq_use:Nn \l_alec_cycle_seq { #1 }
}
\ExplSyntaxOff
\begin{document}
$\cycle{1,2,3}$
$\cycle[]{1,2,3}$
$\cycle[\quad]{1,2,3}$
$\cycle[,]{1,2,3}$
$\cycle[;]{1,2,3}$
\end{document}

Don't use $$ in LaTeX, see Why is \[ ... \] preferable to $$ ... $$?
\[<content>\]instead of$$<content>$$. – azetina Oct 01 '13 at 01:17\quadis too much and\[(a_1\ a_2\ a_3\ \ldots\ a_k)\]would then translate into\[(1\ 2\ 3)\]. – azetina Oct 01 '13 at 01:24$\aoverbrace[L1R]{a_1\ a_2\ \cdots\ a_k}$withabraces. – Werner Oct 01 '13 at 01:52\;which is not quite as much as a quad (and\,for finer spacing). – Alex Nelson Oct 01 '13 at 04:31\mapsto? Isn't\quadjust whitespace? How does that denote a permutation? – voices Jul 10 '19 at 23:51