This question already has answers here:
Best way to find the intersection of multiple sets?
                                
                                    (5个答案)
                                
                        
                                2个月前关闭。
            
                    
list(set(a[0]) & set(a[1]) & set(a[2]) & set(a[3]) & set(a[4]))


有谁知道如何写这种方式,这样我们就不必先验地知道我们将得到多少个列表? (即5个没有硬编码)?

每个a都是大小不同的列表。

最佳答案

只要您至少有一套,就可以这样做:

list(set(a[0]).intersection(*a[1:]))


如果可能没有集合,则必须自己决定“无集合的交集”在应用程序中实际上意味着什么。如果要空集:

list(set(*a[:1]).intersection(*a[1:]))

关于python - list 理解和交集问题,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/59275902/

10-14 17:58