![如何通过 foreach 循环检查更多元素?](https://linux22.com/image/325462/%E5%A6%82%E4%BD%95%E9%80%9A%E8%BF%87%20foreach%20%E5%BE%AA%E7%8E%AF%E6%A3%80%E6%9F%A5%E6%9B%B4%E5%A4%9A%E5%85%83%E7%B4%A0%EF%BC%9F.png)
我想检查 foreach 循环中是否还有更多元素。该怎么做?
这是一个 for 循环的示例:
\foreach \p/\q in {a/{1,2,3}, b/{4,5,6}}
\foreach \r in \q { (\r) }
编辑#1
我想要实现的编程语言代码示例如下:
a = [3,4,5,6]
for i, val in enumerate(a):
print(val, sep='', end='')
if i < len(a)-1:
print(',', sep='', end='')
希望这有助于澄清。
答案1
答案2
你可以使用狡猾的 (La)TeX 技巧:
\documentclass{article}
\usepackage{etoolbox}
\newcommand{\printlist}[2][,]{%
\def\itemdelim{\def\itemdelim{#1}}% Item delimiter delayed by one cycle
\renewcommand*{\do}[1]{\itemdelim##1}% How each item is processed
\docsvlist{#2}}% Process CSV list
\begin{document}
\printlist{a,b,c}
\printlist[ and ]{a,b,c}
\printlist{}
\printlist{a}
\end{document}
方法是始终打印分隔符,但第一个只是对分隔符的重新定义,实际上什么都没有打印。