2011-09-15 19 views
1

絶対初心者の質問はこちら 私はmathematicaに2つのリストを持っています。リストを生成mathematicaにネストされた配列とリストを使用する

Table[QP[[i]], {i, 10}]

: 最初のものは表コマンドによって生成された第0 {生成範囲

Range[0, 9, 1]

ある

{52.5, 45., 37.5, 30., 22.5, 15., 7.5, 0., -7.5, -15.}

、 1、2、3、4、5、6、7、8、9}

これをリストのリストに入れる必要があります。 {{0,52.5}、{1,45} ...}などですが、私はそれを得ることはできません。ループを使用する必要がありますか?なぜなら、私が望むのは、TableコマンドとArrayコマンドで生成できると思うからです。

おかげ

+3

ユーザー定義シンボルの最初の文字として小文字を使用することを忘れないでください。あなたは頭痛の多くを救うでしょう –

+1

[this](http://stackoverflow.com/q/5370848/499167)質問への回答*タプルを順番に取得するためのペアリスト*も興味があります。 – tomd

答えて

5

Tableの最初のパラメータは、任意の式を指定できます。

Table[{i-1, QP[[i]]}, {i, 10}] 
(* {{0, QP[[1]]}, {1, QP[[2]]}, ... {8, QP[[9]]}, {9, QP[[10]]}} *) 
+0

素晴らしいありがとうございます。 – franklin

7

Transposeあなたが望むことがあります:あなたは、最初のパラメータとしてリストを指定することによって、リストのリストは、それが出力することができ

list1 = {52.5, 45., 37.5, 30., 22.5, 15., 7.5, 0., -7.5, -15.} 

list2 = Range[0, 9, 1] 
Transpose[{list2, list1}] 

{{0を与えます、52.5}、{1,45.}、{2,37.5}、{3,30}、{4,22.5}、{5,15}、{6, 7.5}、{7,0} 、{8、-7.5}、{9、-15}}

+2

答えを見直して、[ここ](http://stackoverflow.com/q/5370848/499167)と比較すると、「Flatten」のみが省略されていることに気付きました(これは「不揃い」配列のTransposeも可能です)。これは忘れるのは簡単です! [ここ](http://stackoverflow.com/questions/5370848/pair-lists-to-create-tuples-in-order/5372194#5372194)を参照してください。 '{list2、list1}、{{2}}] == Transpose [{list2、list1}]' – tomd

5
Thread[List[Range[0, 9], QP[[;; 10]]]] 
+3

Morale:中間結果を保存するために一時記号を必要としない場合は、使用しないでください。 –

+0

と@rcollyerなぜ単純ではないのですか?Thread [List [List [Range [0,9]、QP] '? QPはリストではありませんか? – DavidC

+1

@David質問から私はその長さ@ QP> 10を推測しました。私はもちろん間違っているかもしれません。 –

4

方法の博覧会を完了するには、MapIndexed

MapIndexed[{First[#2] - 1,#1}&, data] 

どこ

data = {52.5, 45., 37.5, 30., 22.5, 15., 7.5, 0., -7.5, -15.} 

あるいは、MapIndexedはもっとある、が、あなたはMapThread

MapThread[List, {Range[0,9], data}] 

を使用することができますを使用することができますそれ以来適切余分なリストを生成する必要はありません。

あなたのコードTable[QP[[i]], {i, 10}]は、QP自体がリストであることを暗示しています。 (二重括弧、[[ ]]は、それを譲った。)それが正しい場合、Tableはサブセットを生成するための最良の方法ではありませんよりも、あなたがSpan直接

QP[[ 1 ;; 10 ]] 

または

とともに Part[[ ]])を使用することができます
QP[[ ;; 10 ]] 

次に、コードの最初のビットにあるdataを、これらのいずれかのフォームに置き換えることができます。

+0

あなたstealer!あなたのMapIndexedに私の 'offset by one'を戻してください! :) –

+1

@belisarius、大丈夫です!今幸せです! :) – rcollyer