(python)タプルのリストからタプルの0番目をキーにしてタプルの1番目を取り出したい

どうやらPythonではタプルのリストとして結果が返る関数が多い(?)ようなので、この辺の事情(?)を知っておかないと間違い続ける気がします。

例えば、httplib.HTTPResponseのgetheadersメソッドはHTTPレスポンスヘッダをタプルのリストで返します。辞書で返ってくれば、素直にheaders['location']などとして取得出来ますが、タプルの場合にどうしたら良いのか分かりません。

>>> L = [('a', 1), ('b', 2), ('c', 3)]
>>> s = 'b'
>>> for e in L:
...     if e[0] == s:
...         print e[1]
... 
2

分からないので、とりあえずはforとifでごまかしています。

>>> H = dict(L)
>>> s = 'b'
>>> print H[s]
2

分からないので、とりあえずdictに型変換してごまかしてみます。

タプルのリストのまま簡単に特定のタプル要素のn番目の値を取り出す方法はあるのでしょうか?

キーと値のペアからなる配列をタプルのリストとして表現するのは、シーケンス操作に何かしらの利点があるという事なのでしょうか?

プロフィール

このブログ記事について

このページは、koshigoeが2007年3月10日 03:13に書いたブログ記事です。

ひとつ前のブログ記事は「(Pythonの)httplibからレスポンスコードをひねり出してみた」です。

次のブログ記事は「ProFontWindowsからM+に変えてみた」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。