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