Qia*_* Li 7 wolfram-mathematica
如何获取列表中奇怪的索引元素?我在想Select,但没有找到任何返回元素位置的东西,特别是考虑到列表中有重复元素.
一般来说,如何选择索引满足某些条件的元素?
Mic*_*lat 13
除了@ belisarius的答案之外,还有一些不需要计算的内容Length[lis]:
Take[lis, {1, -1, 2}]
lis[[1 ;; -1 ;; 2]]
Run Code Online (Sandbox Code Playgroud)
您经常可以-1用来代表"最后"的位置.
Dr.*_*ius 12
有很多方法,以下是其中一些方法:
In[2]:= a = Range[10];le = Length@a;
In[3]:= Table[a[[i]], {i, 1, le, 2}]
In[5]:= Pick[a, Table[Mod[i, 2], {i, 1, le}], 1]
In[6]:= a[[1 ;; le ;; 2]]
Run Code Online (Sandbox Code Playgroud)
通常,使用Pick [](作为示例),您可以为任何可以想到的索引蒙版建模.
由于某些原因Span,答案中省略了简洁形式.
Range[20][[;;;;2]]
Run Code Online (Sandbox Code Playgroud)
{1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
引用文档:
;;;;k
from the beginning to the end in steps of k.
Run Code Online (Sandbox Code Playgroud)