Skip to main content
 首页 » 编程设计

python之如何在 Python 中比较两个以上的列表

2025年05月04日11webabcd

<分区>

我是 Python 的新手,也是 Stackoverflow 的新手,谁能告诉我比较 2 个以上列表的有效(pythonic)方法?我想列出所有 3 个列表的所有元素并以这样的方式显示,即用户将能够知道所有 3 个列表中存在哪个元素或列表 1 中存在但列表 2 中不存在的元素或哪些元素是重复的。我已经使用嵌套循环进行了比较。

List1 = [10,10,11,12,15,16,18,19]   
List2 = [10,11,13,15,16,19,20]   
List3 = [10,11,11,12,15,19,21,23]  
 
# Checking whether List 1 value present in List2 and List 3 
for l1 in List1:   
    if l1 in List2:  
        List2.remove(l1)   
        if l1 in List3:  
            List3.remove(l1)   
            print(l1," ",l1," ",l1)   
        else:   
            print(l1," ",l1," ","NA")   
    else: 
        if l1 in List3:    
            List3.remove(l1) 
            print(l1," ","NA"," ",l1) 
        else: 
            print(l1," ","NA"," ","NA") 
 
# Checking whether List 2 value present in List3 
for l2 in List2: 
    if l2 in List3: 
        List3.remove(l2) 
        print("NA"," ",l2," ",l2) 
    else: 
        print("NA"," ",l2," ","NA") 
 
# Checking for values present only in List 3 
 
for l3 in List3: 
    print("NA","NA",l3) 
 
--- Output--- 
List1 List2 List3 
10   10   10 
10   NA   NA 
11   11   11 
12   NA   12 
15   15   15 
16   16   NA 
18   NA   NA 
19   19   19 
NA   13   NA 
NA   20   NA 
NA NA 11 
NA NA 21 
NA NA 23 
NA   20   NA 
NA NA 11 
NA NA 21 
NA NA 23 

有没有更好的方法来比较列表?