2016-08-02 3 views
0

私はPython 2.7を使用していて、数日前にPythonを学習し始めました。私はまだPythonが配列をどのように索引付けするかについて頭を惹こうとしています。配列は、1ではなく0で始まります。私は周囲の配列を操作して練習していますし、いくつかの助けを使うことができます。 AB - -配列について:0から始まるインデックス

私は2つの配列を持っていると私はAの値に平行であるBの値を取得したいです。

以下

は、私は私がアレイと熟練し得るのを助けるためにいじり午前コードです:

A = [2, 8, 29, 34, 54, 61, 73, 89, 97, 101] 

B = [201, 309, 454, 540, 602, 750, 889, 973, 1003, 1120] 


B[2] = 454 

# B[2] = 201 this is what I want 

B[8] = 1003 

#B[8] = 309 this is what I want 

はどちらの配列は同じ長さですが、あなたが見ることができるように、私は、インデックス上で動作するようにしようとしています。私がちょうどB [A]をしたら、その範囲外インデックスのエラーコード。私が使用してみました:

A.searchsorted(B) #but still get an error. 

私は私が私の頭の中で何をしたい知っているが、ちょうどそれを容易にするために、正しい言葉遣いを得ることができないとして、私は、何の意味も作っていた場合、私はわかりません。うまくいけば、上記の例は私が望んでいることを示しています。私がサイトで見つけた唯一のものは、検索された(おそらく私はそれを誤って使用している)です。この方法は以前の質問から私の注目を集めましたが、私はそれをさらに見ていましたが、私が探しているものはまだ見つかりませんでした。

+0

あなたの質問は理にかなっていません。 'Aの値と平行なBの値はどういう意味ですか? 201はB [2]ではなく、201はB [0]である。 B [A [0]] == B [2] == 454であるので、B [A [0]]も454です。 – alzee

+0

B [0] = 201.私が平行を意味するとき、私は同様の長さの配列を持つことを意味します。私たちはそれを並べてみましょう。私は他の配列に対応する1つの配列の値が必要です。 2および201はそれぞれA [0]およびB [0]である。 Bの最初の値をAの最初の値、つまりB [0]の代わりにB [2] = 201を使用して取得したいとします。これが可能かどうかはわかりませんが、これは少し意味がありますか? –

+0

A *の最初の値を使ってBの最初の値を取得することはできません。 Aの最初の値は* 2 *で、構文B [A [0]]を持つインデックスとして使用できますが、これは "Bの最初の値"ではなく、Bの3番目の値を与えます。 A [0] == 2で、配列インデックスは0から始まります。**編集:Bの最初の値はB [0]、periodです。あなたの例では201です。** – alzee

答えて

0

あるリストから値のインデックスを探して、そのインデックスの別のリストから値を返そうとしているようです。

A = [2, 8, 29, 34, 54, 61, 73, 89, 97, 101] 
B = [201, 309, 454, 540, 602, 750, 889, 973, 1003, 1120] 
print(B[A.index(2)]) 
print(B[A.index(8)]) 

が生成されます

201 
309 

を:爆発とのすべてを破壊する

print(B[A.index(42)]) 

:値は、最初のリストに存在しない場合、これはランタイムエラーが発生します半径5km。 https://ideone.com/dfVci9

関連する問題