如何获取列表中的每个其他项目
问题描述:
我在Mathematica中有一个列表,并且我试图获取列表中的每个其他数字并将其作为新列表存储。如何获取列表中的每个其他项目
目前我有
ReadList["file",Number]
,其读出整个列表,{ x1, x2, x3, x4, ... }
;我只想挑出其他号码并将其存储在新的列表中,例如, { x1, x3, x5, ... }
。
如何做到这一点?
答
尝试:
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}
答
对于像总有几十个创造性的方式来做到这一点的数学任务。 kguler已经给你的规范办法,但这里的另一个问题:
Partition[yourlist, 2]\[Transpose][[1]]
(*
==> {a, c, e, g}
*)
顺便说一句:有在https://mathematica.stackexchange.com/一个专门的数学Stackexchange网站。 Mathematica社区越来越朝着这个方向发展,所以你可能也想加入我们。
+0
谢谢你的参考! – user1200775 2012-02-09 23:47:04
答
另一种方式:
First /@ ReadList["test.dat", {Number, Number}]
还是稍短'yourlist [[1 ;; ;; 2]]'。 – 2012-02-09 23:05:10
@Brett的确如此! – kglr 2012-02-09 23:09:59
非常感谢,您是否也碰巧知道如何更改Command ListPlot的步长。它列出了单位步骤,并想知道是否有办法改变这种情况?再次感谢你的帮助! – user1200775 2012-02-09 23:44:57