📅  最后修改于: 2023-12-03 15:19:12.912000             🧑  作者: Mango
欢迎参加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的理解,并且引导你去寻找更加优雅的代码实现方式。希望这次测验对你有帮助!