如何获取列表中奇怪的索引元素?我在想Select,但是没有找到任何返回元素位置的东西,特别是考虑到列表中有重复的元素。
另外一般来说,如何选择索引满足某些条件的那些元素?
答案 0 :(得分:13)
除了@belisarius's answer之外,还有一些不需要计算Length[lis]
的内容:
Take[lis, {1, -1, 2}]
lis[[1 ;; -1 ;; 2]]
您经常可以使用-1
来表示“最后”位置。
答案 1 :(得分: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]]
通常,使用Pick [](作为示例),您可以为任何可以想到的索引蒙版建模。
答案 2 :(得分:6)
出于某种原因,答案中省略了Span
的简洁形式。
Range[20][[;;;;2]]
{1, 3, 5, 7, 9, 11, 13, 15, 17, 19}
;;;;k
from the beginning to the end in steps of k.