2016-11-07 14 views
1

私はこのようなタプルのリストを反復処理しようとしています:座標タプルのリストから最小値を選択する

[(0, 0.0083553666846612491), (1, 0.0054999681509501821)] 

とタプルの右側の最小値を検索し、添付を保存左辺値を変数に代入する。

この問題については、どうすればよいでしょうか?

答えて

2

は、あなたが最も小さい第二の値を持つタプルを見つけるためにmin()関数にkey引数を使用することができます。

>>> l = [(0, 0.0083553666846612491), (1, 0.0054999681509501821)] 
>>> smallest = min(l, key=lambda x: x[1])[0] 
>>> smallest 
1 
ここ

ラムダ式は、各タプルの2つ目の項目を選択するために使用され、minを、その値を使用していますその比較において。 min()はフルタプルを返します。したがって、[0]を使用して最初の項目を抽出できます。あなたはまた、operator.itemgetterを使用することができます

>>> from operator import itemgetter 
>>> smallest = min(l, key=itemgetter(1))[0] 
>>> smallest 
1 
0

これは動作するはずです:

min_tuple = min(your_list, key=lambda item: item[1]) 

は、だから我々はあなたが後半だけで3分のようなものでしたタプルcomparition

+0

ための方法を提供しています。通常、私は両方の答えをupvoteだろうが、[mhawke](http://stackoverflow.com/a/40456054/1218980)はあなたが何も提供していない間にはるかに詳細を提供した。 1ライナーだけでなく、提案しているソリューションの説明を提供することを強くお勧めします。 –

+1

私はすべての手紙の数(電話でエッセイを書くのが好き)がいる電話アプリを使用していました。提案ありがとう。 – woockashek

+0

ええ、電話で解答を書くことは最高のものとはほど遠いです。 –

関連する問題