如何在mathematica中的列表中获取奇怪的索引元素

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 [](作为示例),您可以为任何可以想到的索引蒙版建模.


Mr.*_*ard 6

由于某些原因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)