Something like \enumerate, but with custom numbers at each \item

You could simply use the optional Argument of \item

\documentclass{scrartcl}

\begin{document}
\begin{itemize}
    \item [2.9] Foo
    \item [53.2] Bar
    \item [69.11]
\end{itemize}
\end{document}

I hope that’s what you wanted to do …


The genuinely insane way to do this is as follows:

\documentclass{article}
\usepackage{enumitem}
\makeatletter
\newcommand*{\wackyenum}[1]{%
  \expandafter\@wackyenum\csname c@#1\endcsname%
}

\newcommand*{\@wackyenum}[1]{%
  $\ifcase#1\or52.2\or52.9\or53.13\or42%
    \else\@ctrerr\fi$%
}
\AddEnumerateCounter{\wackyenum}{\@wackyenum}{53.13}
\makeatother


\begin{document}
\begin{enumerate}[label=\wackyenum*]
\item One
\item Two
\item Three
\end{enumerate}
\end{document}

This allows you to define an arbitrary list of numbers that the the enumeration will cycle through. This has the (very minor) advantage of having the spacing behave a little better. This is basically how a lot of things are done in the moreenum package. The documentation explains the procedure.


Depending on how much "non-sequential" your numbers are, and how much you need a quick & dirty solution instead of something with polish and automatism, you might get along with \addtocounter and some ad-hoc-ery involving the enumitem package:

\documentclass{article}

\usepackage{enumitem}

\begin{document}

\begin{enumerate}[label=52.\arabic*,start=2]
\item Answer % 52.2
\addtocounter{enumi}{6}
\item Answer % 52.9
\end{enumerate}

\begin{enumerate}[label=53.\arabic*,start=13]
\item Answer % 53.13
\end{enumerate}

\end{document}

With a bit more work, you could make the page number (52, 53) into a counter of its own and wrap it all into a re-useable environment definition, but I think this gives you the idea of it all.