如何获取列表中的所有其他项目

时间:2012-02-09 22:10:18

标签: list wolfram-mathematica

我在Mathematica中有一个列表,我正在尝试获取列表中的所有其他数字并将其存储为新列表。

目前我有

ReadList["file",Number]

读出整个列表{ x1, x2, x3, x4, ... };我只是想挑出所有其他数字并将其存储在一个新的列表中,例如{ x1, x3, x5, ... }

怎么做?

3 个答案:

答案 0 :(得分:8)

尝试:

  yourlist = {a, b, c, d, e, f, g, h};
 (* use Span: search for  Span or ;; in Documentation Center *)
 everyotheritemlist = yourlist[[1 ;; -1 ;; 2]];
 (* or use Take *)
 Take[yourlist, {1, -1, 2}]

两者都给:

 {a,c,e,g}    

答案 1 :(得分:1)

对于像这样的任务,在Mathematica中总会有很多创造性的方法。 kguler已经给了你规范的方法,但这是另一个:

Partition[yourlist, 2]\[Transpose][[1]]

(*
==> {a, c, e, g}
*)

顺便说一下:https://mathematica.stackexchange.com/有一个专用的Mathematica Stackexchange网站。 Mathematica社区越来越朝着这个方向前进,所以你也可以加入我们。

答案 2 :(得分:1)

还有一种方法:

First /@ ReadList["test.dat", {Number, Number}]