計算兩個集合的交集 並集 差集 對稱集

2021-08-30 11:37:20 字數 2032 閱讀 3279

計算 兩個集合的交集、並集、差集、對稱集

import sys

import time

#重新整理緩衝區

def flush():

time.sleep(1)

#除去重複元素

def duplicate_removal(lt):

lt1 =

for i in lt:

if i not in lt1:

return lt1

#並集計算

def union():

tmp = [var for var in line_a if var in line_b]

return tmp

#對稱差的計算

def symmetric_difference(list_a, list_b):

sym_list =

for item in list_a:

if item not in list_b:

for item in list_b:

if item not in list_a:

return sym_list

#差集獲取

def difference_set(list_a, list_b):

ret_list =

for item in list_a:

if item not in list_b:

# for item in line_b:

# if item not in line_ai:

return ret_list

i = int(0)

print("請輸入集合的各個元素".format("a" if(i == 0) else "b"))

line_a = list(map(str, sys.stdin.readline().strip().split()))

flush()

line_a = duplicate_removal(line_a)

i += 1

print("請輸入集合的各個元素".format("a" if (i == 0) else "b"))

line_b = list(map(str, sys.stdin.readline().strip().split()))

flush()

line_b = duplicate_removal(line_b)

#顯示兩個集合的資料

print("集合a:\n集合b:".format(line_a if (line_a != ) else "line_a 為空集",

line_b if (line_b != ) else "line_b 為空集"))

print("a∪b:".format(duplicate_removal(line_a + line_b)))

print("a∩b:".format(union()))

print("a-b: ".format(difference_set(line_a, line_b)))

print("a⊕b: ".format(symmetric_difference(line_a, line_b)))

#答案#請輸入集合a的各個元素

1231 465467 984 654

請輸入集合b的各個元素

654 123 41654 6789 45

集合a:['1231', '465467', '984', '654']

集合b:['654', '123', '41654', '6789', '45']

a∪b:['1231', '465467', '984', '654', '123', '41654', '6789', '45']

a∩b:['654']

a-b: ['1231', '465467', '984']

a⊕b: ['1231', '465467', '984', '123', '41654', '6789', '45']

process finished with exit code 0##

#

python 兩個list 交集 並集 差集

def aaaaa a1 2 3,4 5 b1 2 5,8 a set a1 b set b1 ai a.intersection b print 交集 兩個list都有的元素.ai au a.union b print 並集 合併list,並且去除重複元素.au ad a.difference b...

兩個集合求對稱差集

對稱差集,兩個集合的並集,減去交集。比如,集合1,2,3和集合3,3,4,5的對稱差是集合1,2,4,5。想到的解法,將兩個排序,兩個集合分別用兩個工作指標i,j。比較兩個指標指向的元素,相同就都後移,不相同,更小的指標後移。以下 給出了求對稱差集數量的 public static int dist...

兩個list的差集 交集 去重並集計算

獲取兩個arraylist的差集 交集 去重並集 資料量大小不限制 此 是copy同事的 不知道是不是原創 private static void getlist 獲取交集 collectionlist receivecollectionlist firstarraylist,secondarray...