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


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM