1. ホーム
  2. python

[解決済み] Pythonで2つのリストを比較し、マッチを返すにはどうすればよいですか?

2022-03-22 03:20:32

質問

2つのリストを取り出して、両方に現れる値を見つけたい。

a = [1, 2, 3, 4, 5]
b = [9, 8, 7, 6, 5]

returnMatches(a, b)

を返します。 [5] といった具合に。

解決方法は?

最も効率的なものではありませんが、圧倒的にわかりやすいのがこの方法です。

>>> a = [1, 2, 3, 4, 5]
>>> b = [9, 8, 7, 6, 5]
>>> set(a) & set(b)
{5}

順番が重要な場合は、このようにリスト内包で行うことができます。

>>> [i for i, j in zip(a, b) if i == j]
[5]

(順序の重要性が暗示する、同じサイズのリストに対してのみ機能します)。