Python 2つのリストから共通でない要素を抽出してリスト化する

'21/12/17/更新:集合setを使用した場合の雛形も追記して、2通りの方法を記載しました。
 ひとつ目は、リスト内包表記で出来ます。リストAとリストBの差をリスト化します。

import numpy as np

A_list = np.arange(0, 10, 1).tolist()
B_list = [0, 1, 2, 3, 5, 7]
C_list = [i for i in A_list if not i in B_list]

print('A_list ->', A_list)
print('B_list ->', B_list)
print('C_list ->', C_list)

下図はその結果です。

f:id:HK29:20201230152343p:plain

ふたつ目は集合setを使用する方法です。

import numpy as np

A_list = np.arange(0, 10, 1).tolist()
B_list = [0, 1, 2, 3, 5, 7]

C_list = list(set(A_list) - set(B_list))

print('A_list ->', A_list)
print('B_list ->', B_list)
print('C_list ->', C_list)

下図はその結果です。但し、順番は一つ目と異なり、順不同です。

f:id:HK29:20211217221738p:plain

以上

<広告>