📜  Python-测验| Python设置测验 |问题 3(1)

📅  最后修改于: 2023-12-03 15:19:12.912000             🧑  作者: Mango

Python测验 - Python设置测验 - 问题 3

欢迎参加Python测验!本次测验的主题是Python设置。在问题3中,我们将测试你对Python中的列表(set)的理解。

问题描述

假设我们有两个列表a和b,a=[1,2,3,4,5],b=[3,4,5,6,7]。请写一个Python函数,返回两个列表的交集。

函数签名如下:

def find_intersection(a: list, b: list) -> list:
    """
    返回两个列表a和b的交集
    :param a: 第一个列表
    :param b: 第二个列表
    :return: 交集
    """
    pass
示例
a = [1, 2, 3, 4, 5]
b = [3, 4, 5, 6, 7]
print(find_intersection(a, b))  # [3, 4, 5]
答案解析

解决这个问题有很多种方法,我们可以使用for循环遍历a和b,将它们的交集找到,将结果添加到一个列表中。还有一种更优雅的解决方案,就是使用Python中的set集合,将a和b转换为集合后,直接使用交集操作符&即可。

def find_intersection(a: list, b: list) -> list:
    """
    返回两个列表a和b的交集
    :param a: 第一个列表
    :param b: 第二个列表
    :return: 交集
    """
    set_a = set(a)
    set_b = set(b)
    return list(set_a & set_b)
总结

本题考察了你对Python中新的数据类型set的理解,并且引导你去寻找更加优雅的代码实现方式。希望这次测验对你有帮助!