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 }
参考: