📜  Python|将列表与列表列表中的公共元素合并(1)

📅  最后修改于: 2023-12-03 14:46:27.946000             🧑  作者: Mango

Python | 将列表与列表列表中的公共元素合并

在Python中,有时候我们需要将多个列表或者多个列表列表中的公共元素合并成一个新的列表。下面我们将介绍一种简单的方法。

方法

我们可以使用Python中的 set 类型和 intersection 方法来得到两个或者多个列表的公共元素。具体来说,我们可以定义一个函数 list_intersection,该函数中的 *args 表示我们可以传入任意多个列表或者列表列表,函数返回一个包含所有列表的公共元素的新列表。

def list_intersection(*args):
    """
    This function takes any number of lists or list of lists as input
    and returns a new list containing all the common elements of the input lists.
    """
    # Convert all lists to sets
    sets = [set(item) for item in args]
    
    # Get the intersection of all sets
    common = set.intersection(*sets)
    
    # Convert the intersection back to a list
    result = list(common)
    
    return result

让我们测试一下该函数:

# Test the function with three lists
L1 = [1, 2, 3, 4]
L2 = [2, 4, 6, 8]
L3 = [4, 5, 6, 7]

result = list_intersection(L1, L2, L3)

print(result)  # Output: [4]

在上面的例子中,我们传入了三个列表 L1L2L3,函数返回了一个包含所有列表的公共元素 [4] 的新列表。

总结

本文介绍了一个简单的方法来将多个列表或者多个列表列表中的公共元素合并成一个新的列表。该方法使用Python中的 set 类型和 intersection 方法来实现,思路简单易懂,代码也非常容易编写。