2012-02-09 16 views
6

私はMathematicaにリストを持っており、リスト内の他のすべての番号を取得して新しいリストとして保存しようとしています。リスト内の他のすべてのアイテムを取得する方法

現在、私は、リスト全体を読み出す

ReadList["file",Number] 

{ x1, x2, x3, x4, ... }を持っています。他の番号を1つおきに選んで新しいリストに保存したいだけです。 { x1, x3, x5, ... }

どうすればよいですか?

答えて

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}] 

はどちらが与える:常にMathematicaでそれを行うためのクリエイティブな方法の数十があることなどのタスクについては

{a,c,e,g}  
+2

またはわずかに短い 'yourlist [[1 ;; ;; 2]]。 –

+0

@Brett、確かに! – kglr

+0

ありがとう、コマンド "ListPlot"のステップサイズを変更する方法も知っていますか?それは単位ステップで記載され、これを変更する方法があるかどうか疑問に思っていましたか?あなたの助けをもう一度ありがとう! – user1200775

1

。 kgulerはすでにあなたの標準的な方法を与えたが、ここでは別の一つだ:ところで

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

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

https://mathematica.stackexchange.com/で、専用のMathematica Stackexchangeサイトがあります。 Mathematicaコミュニティはますますその方向に動いているので、そこにも参加したいかもしれません。

+0

ああ、参考になりました! – user1200775

1

もう一つの方法:

First /@ ReadList["test.dat", {Number, Number}] 
関連する問題