2016-12-21 4 views

答えて

6

あなたはこのようzip()を使用することができます。

c = [min(*item) for item in zip(a, b)] 

出力:

>>> a = [0.6, 0.8, 0.4] 
>>> b = [0.4, 1.0, 0.5] 
>>> 
>>> c = [min(*item) for item in zip(a, b)] 
>>> c 
[0.4, 0.8, 0.4] 
+1

そのような 'zip()'で 'for'を使うことができないか分かりませんでした。本当にそれが好きだった! – Minoru

+0

@Lucas Pythonは強力です;) – ettanany

1

これはminzipのシンプルなアプリケーションです:

c = [min(aa, bb) for aa, bb in zip(a, b)] 

あなたはこのような計算をたくさんやろうとしている場合、それはnumpyを使用して価値があるかもしれません:

c = numpy.minimum(a, b) 

例:

>>> a = numpy.array([0.6, 0.8, 0.4]) 
>>> b = numpy.array([0.4, 1.0, 0.5]) 
>>> numpy.minimum(a, b) 
array([ 0.4, 0.8, 0.4]) 
+0

私は 'np.minimum'がペアワイズで比較したのか分かりませんでした。ありがとう! – Minoru

3

ちょうどmap 2つのリスト引数を渡す:

、エレメントを行いnumpyのの minimum機能を使用して
c = map(min, a, b) 
+3

これは、python3.xでリストを返さないことを指摘する価値はあるかもしれません。予想される項目を生成する反復可能なオブジェクトを返します。 – mgilson

1

配列要素の最小の最小値です。

numpy.minimum(a, b) 
関連する問題