python中剔除两个数组相同项

方法一:

先得到交集,然后再处理。

  两个一维数组:

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))

posted on 2019-10-21 00:12  你若盛开,清风自来!  阅读(4861)  评论(0编辑  收藏  举报

导航