2つのリストに存在する要素を抽出したリストを求める

l1 = [1, 2, 4, 5, 7, 9]
l2 = [2, 3, 4, 6, 8]

list ⇒ set(集合)に変換して積を求めて list に戻す

s1 = set(l1)
s2 = set(l2)
s3 = s1 & s2
l3 = list(s3)

l3 は、

[2, 4]

集合演算子 & で計算する代わりの積のメソッド(intersection)、

s3 = s1.intersection(s2)

和(union)

s3 = s1 | s2
s3 = s1.union(s2)
{1, 2, 3, 4, 5, 6, 7, 8, 9}

差(difference)

s3 = s2 - s1
print(s3)
d = s2.difference(s1)
print(d)
{8, 3, 6}
{8, 3, 6}

対象差(symmetric_difference)

s3 = s1 ^ s2
print(s3)
d = s1.symmetric_difference(s2)
print(d)
{1, 3, 5, 6, 7, 8, 9}
{1, 3, 5, 6, 7, 8, 9}

Java のケースは、こちら、
2つのリストに存在する要素を抽出したリストを求める(Javaのケース) - Oboe吹きプログラマの黙示録