この処理をrubyらしく処理する方法を教えて下さい

[code]

    [
      ["てつお", "名前"],
      ["男", "性別"],
      ["23歳", "年齢"],
    ]
    
    ↓
    
    {
      "名前" => "てつお"
      "性別" => "男"
      "年齢" => "23歳"
    }
    
[/code]

phpしか使ったことしかなく、mapやeachなどを使って上記の処理をする方法がわかりません。

[code]

    data.map{|d|
      {
        d[1] => d[0]
      }
    }
    
[/code]

こうすると  
配列の中にハッシュが格納される形になってしまいうまく行きませんでした。

## 追記

[code]

    data.map{|d|
      [d[1], d[0]]
    }.to_h
    
[/code]

とすることで出来ました。  
このコードは普段からrubyを扱っている方でもわかりやすいコードとなっていますでしょうか。  
もう少し一般的な書き方があればおしえてください。  
よろしくお願いします。




`map` を次のように書き換えるとシンプルになります。(これは、`map { |x| x.reverse }` と等価です)

[code]

    data.map(&:reverse).to_h
    
[/code]

`Hash#invert`
を利用する方法もありますが、パフォーマンスが落ちるかもしれません。(極端に大きなデータだったり、繰り返し利用されない限り無視できる程度だと思いますが。)

[code]

    data.to_h.invert
    
[/code]




`map` を次のように書き換えるとシンプルになります。(これは、`map { |x| x.reverse }` と等価です)

[code]

    data.map(&:reverse).to_h
    
[/code]

`Hash#invert`
を利用する方法もありますが、パフォーマンスが落ちるかもしれません。(極端に大きなデータだったり、繰り返し利用されない限り無視できる程度だと思いますが。)

[code]

    data.to_h.invert
    
[/code]

