Pythonで二次元配列の中の各要素のn番目だけを取り出して、要素として並べたい

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    
[/code]

というような形式のデータの中の各要素の2番目のみを取り出して

[code]

    b = [2,5,8,11]
    
[/code]

という形で扱いたいのですがどの様に記述すれば良いですか？

この様な入れ子の配列を二次元配列と呼ぶという所までは検索で辿り着いたのですが、一度の記述で済む方法が分からず、現在一つ一つ要素を取り出して

[code]

    b = [a[0][1],a[1][1],a[2][1],a[3][1]]
    
[/code]

の様に(数十個)記述しております。

(for文を使って取り出そうともしてみたのですが、printしてみると一つ一つバラバラになって配列を作れなかったので断念しました...)

初学者ゆえ初歩的な質問で気分を害されましたら申し訳ございません。  
宜しくお願い致します。




以下のように[リストの内包表記](https://docs.python.jp/3/tutorial/datastructures.html#list-
comprehensions)を利用するとシンプルに実現できます。

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    b = [x[1] for x in a]
    print(b) #=> [2, 5, 8, 11]
    
[/code]

上記サイトに記載されているように、`for文`による方式や`map`による方式でも実現できますが、 **リストの内包表記** がよりシンプルです。

参考: for文の例

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    b = []
    for x in a:
        b.append(x[1])
    
    print(b)  #=> [2, 5, 8, 11]
    
[/code]

参考: mapの例

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    b = list(map(lambda x: x[1], a))
    print(b) #=> [2, 5, 8, 11]
    
[/code]




以下のように[リストの内包表記](https://docs.python.jp/3/tutorial/datastructures.html#list-
comprehensions)を利用するとシンプルに実現できます。

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    b = [x[1] for x in a]
    print(b) #=> [2, 5, 8, 11]
    
[/code]

上記サイトに記載されているように、`for文`による方式や`map`による方式でも実現できますが、 **リストの内包表記** がよりシンプルです。

参考: for文の例

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    b = []
    for x in a:
        b.append(x[1])
    
    print(b)  #=> [2, 5, 8, 11]
    
[/code]

参考: mapの例

[code]

    a = [[1,2,3],[4,5,6],[7,8,9],[10,11,12]]
    b = list(map(lambda x: x[1], a))
    print(b) #=> [2, 5, 8, 11]
    
[/code]

