2017-02-06 6 views
2

リストのリストは、 [['A'、35]、['B'、74]、['C'、21]、[ 'D'、2]]リストの関連する値を見つける

2番目の部分に基づいてリストの最初の部分を探したいと思います。

たとえば、私は21を使用するだけで 'C'を取得したいと思っています。私は第2部分(21)を知っていて、それを使って最初の部分( 'C')を取得します。これを行う最善の方法は何ですか?

+2

別の「キー」に基づいて値を検索する場合は、辞書を調べてください。 – MooingRawr

答えて

2

にAValueは、対応するキーを返すために、コードのシンプルなラインを実行することができます:

mylist = [['A', 35], ['B', 74], ['C', 21], ['D', 2]] 
newdic = dict((y,x) for x,y in mylist) 
print(newdic[21]) 
+0

ありがとう! +1はdictの値とキーを切り替えるために、これは私がそれに基づいてルックアップできるようにするために必要なものです – user20408

1

この問題を解決する最善の方法は、リストではなく辞書を使用することです。辞書は、キーのペアとして定義されます。値と、あなたがこのために辞書を使用すべき辞書

+0

うわー、それは本当にdict(list_of_lists)と同じくらい簡単でした。おかげで – user20408

2

このジャックの答えのようになります。

d = {v: k for k, v in [['A', 35], ['B', 74], ['C', 21], ['D', 2]]} 

それは逆の辞書の理解のようなものだが、あなたはdict機能を使用していないと、むしろリテラル構文{}を使用しているので、ほとんどの場合、迅速であることが判明しました。

関連する問題