初心者のメモ

Python enthusiast

python リスト内/間の重複・差分

リストから重複をなくす

ls1 = [ 1, 1, 2, 3, 4]

ls2 = list(set(ls1))
>>> [ 1, 2, 3, 4]

和集合

ls3 = [ 1, 2, 3]
ls4 = [ 2, 3, 4, 5]

newset = set(ls3) | set(ls4)
>>> {1, 2, 3} | {2, 3, 4, 5} 
>>> {1, 2, 3, 4, 5}

積集合

newset = set(ls3) & set(ls4)
>>> {1, 2, 3} & {2, 3, 4, 5} 
>>> {2, 3}

差集合

newset = set(ls3) - set(ls4)
>>> {1, 2, 3} | {2, 3, 4, 5} 
>>> { 1 }

newset = set(ls4) - set(ls3)
>>> {2, 3, 4, 5}  | {1, 2, 3}
>>> { 4, 5}

対称差

newset = set(ls3) ^ set(ls4)
>>> {1, 2, 3} ^ {2, 3, 4, 5} 
>>> { 1, 4, 5 }

参考: