📅  最后修改于: 2023-12-03 15:19:12.841000             🧑  作者: Mango
本次 Python-测验涉及到 Python 列表的基础。问题23要求编写一个函数,该函数接受两个列表作为参数,返回这两个列表中所有的相同元素。本测验将帮助程序员更好地掌握 Python 列表的基础知识。
请定义一个函数 intersect(a, b)
,该函数接收两个列表 a
和 b
作为参数,并返回这两个列表中所有的相同元素。如果没有相同的元素,则返回一个空列表。
函数定义如下:
def intersect(a: List[int], b: List[int]) -> List[int]:
pass
a
和 b
:a
:整数列表。b
:整数列表。a
和 b
中相同的元素,如果没有相同的元素,则返回一个空列表。assert intersect([1, 2, 3, 4], [3, 4, 5, 6]) == [3, 4]
assert intersect([1, 2, 3, 4], [5, 6, 7, 8]) == []
本题要求我们找出两个列表中所有的相同元素,可以使用 set
来实现。我们首先将列表 a
转换为集合 set_a
,然后遍历 b
中所有的元素,如果 b
中元素在 set_a
中,则将其加入结果列表 result
中。最后返回结果列表即可。
详见代码如下:
from typing import List
def intersect(a: List[int], b: List[int]) -> List[int]:
set_a = set(a)
result = []
for num in b:
if num in set_a:
result.append(num)
return result
本次测验通过问题23,让我们练习了 Python 列表的遍历、集合的使用和函数的定义等基础知识。掌握了本次测验的知识点,可以让我们更好地应对日常 Python 开发中的问题。