2017-12-01 9 views
1

タイトルが混乱し、自分自身を公式化する方法がわからない。最後の例は、おそらく理解しやすくなります。だから、2次元配列の値から配列を作る

、私は各要素がA_Main1内のすべてのアレイA_ElemIの最初の要素である新しい配列を作りたい各要素がA_Elem1 ... A_ElemN

別の配列、A_Elem0、ある配列A_Main1を持って

私はこのコードを見たことがありますが、それがどのように行われたのか覚えていません。 latitudeInfo内のリスト番目:これは私がpossibleLatitudesは、iの0番目の要素を追加することを考えlatitudeInfoに

possibleLatitudes = [] 
possibleLatitudes.append(latitudeInfo[i][0] for i in latitudeInfo) 

をすべて緯度の新しい配列を作りたい

latitudeInfo = [latitude1Info[], latitude2Info[]...latitudeNInfo[]] 
#latitudeXInfo[0] = the actual latitude, latitudeXInfo[>0] are values in someway 
#connected to the latitude. So the 0th element of latitudeXInfo is always the latitude 

のように私のコードの一部が見えるものですしかし、これは動作していないようです。

答えて

3

あなたはlatitudeInfoに各リストをlist-comprehensionその繰り返し処理を使用してl[0]と、そのリストから最初要素を取ることができます。

possibleLatitudes = [l[0] for l in latitudeInfo] 

あなたが実際にここlistsを使用しているノート、およびないarrays。これは、Pythonを学ぶ人々にとっては、特に他の言語に由来する誤解です。基本的に、arraysをPythonで使用する唯一の時間は、numpyモジュールです。大括弧で囲まれた他のすべては、です。通常、listです。

0

mapは、以下のようにpythonで使用できます。 https://docs.python.org/3/library/functions.html#map。これは、Javascript、Rubyまたは他の言語のマップに似ています。

lambdaは、指定された条件を返す無名関数です。 http://www.secnetix.de/olli/Python/lambda_functions.hawk

lats = list(map(lambda l: l[0], latitudeInfo)) 

>>> k = [[1, 2], [3, 4], [5, 6]] 
>>> list(map(lambda i: i[0], k)) 
[1, 3, 5] 
+0

あなたはどちら 'lambda'もこのタスクの' map'を必要としています。一般的に、リスト内包は、むしろ関数型プログラミングの方が好ましいはずである。 – user1767754