方法一:
先得到交集,然后再處理。
兩個一維數組:
intersection=list(set(A).intersection(set(B)))
for i in intersection:
if i in B:
B.remove(i)
由於set命令無法處理二維數組,所以可以自己寫一個交集函數:
b=[[1,2],[3,5],[6,9]]
a=[1,2]
c=[]
for i in b: #得到交集
for j in i:
if j in a:
c.append(j)
print(c)
for i in c: #刪除b二維數組中有的相同項
for j in b:
if i in j:
print(i,j)
j.remove(i)
print(b)
方法二:
剔除B數組中,在A數組中有的相關項:
def Kick(rm,list):
LIST=[]
for i in list:
if rm[-1]!=i:
LIST.append(i)
rm.pop()
if len(rm)==0:
return LIST
if len(rm)!=0:
return(kick(rm,LIST))
如果B是一個二維數組的話,代碼如下:
def kick(rm,list):
LIST=[]
List=[]
for i in list:
for j in i:
if rm[-1]!=j:
List.append(j)
LIST.append(List)
List=[]
rm.pop()
if len(rm)==0:
return LIST
if len(rm)!=0:
return(kick(rm,LIST))