Pythonで1つのリストから別のリストを引いたものを評価する方法


ベストアンサー

2つのリストの算術的な「マイナス」(コンポーネントごとの減算)を意味すると思います。

この質問をしていることに気付いたとき、これは定期的にnumpyモジュールの使用を開始する時期であることを示す標識です。

Numpyは非常に一般的に使用されており、実際には言語の事実上の標準部分です。 Numpyは、(数学機能の非常識なライブラリの中で)基本的な算術演算にパイソンエレガンスを提供します。

なぜなら-からリストBを減算するためです。リストA、C = A-Bと書きたくないですか?

もちろんそうです。したがって、numpyをインポートして、次のような変換を行います:

import numpy as np

a=[6,3,6,8,9,6,4]

b=[1,0,1,2,1,2,1]

a = np.array(a) #Convert list to np array

b = np.array(b)

c = a - b

以上です。 *などの他の操作でも機能します。また、リストが奇妙なnp.arrayコンテナにあることを心配する必要はありません。これらの配列では、リストと同じように[]を使用してインデックスを作成し、[:]を使用してスライスすることができます。

そして、いつでも取得できます。 c.list()と言ってリストを元に戻します。

経験豊富なPythonプログラマーは、大量の演算を行う場合、リストではなくnumpy配列を使用して数値を保持する傾向があります。

おめでとうございますレベルアップ!

回答

Pythonで1つのリストから別のリストを引いたものをどのように評価しますか?

通常、プラスは\_\_add\_\_メソッドで定義されます。

[1、2、3] + [3、2、1]は、新しいリスト[1、2、3、3、2、 1]

[1、2、3] + [a、 b、 c]は、新しいリスト[1、2、3、 a、 bを提供します、 c]

マイナス演算子は定義されていません。

set(ls)は、リストlsの設定バージョンを提供します(重複を削除します)

マイナス演算子は、セットの差として定義されます

if

A = set([1, 2, 4])

B = set([1, 2, 3])

A-Bは{4}を与えます

B-Aは{3}

を与えます

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です