在Python中检查定义域和值域是否形成函数的程序
假设我们有一组数据列表x,表示定义域,还有一组数据列表y(y的大小与x的大小相同),表示值域。 我们必须检查x -> y是否为函数。 在此,我们认为x和y中的所有元素都为正数。
因此,如果输入如下:x = [1,3,2,6,5],y = [1,9,4,36,25],那么输出将是True,因为对于每个x,相应的y是其平方值,因此这是一个函数。
要解决这个问题,我们将遵循以下步骤 −
这里我们考虑一组简单的步骤。当然也可以用一些复杂的方式来解决此问题。
- mp := 新地图
- 对于范围在0到x大小的i,进行如下操作:
- a := x[i]
- b := y[i]
- 如果a不在映射mp中,则
- mp[a] := b
- 否则,
- 返回False
- 返回True
示例
让我们看一下以下实现以更好地理解 –
def solve(x, y):
mp = {}
for i in range(len(x)):
a = x[i]
b = y[i]
if a not in mp:
mp[a] = b
else:
return False
return True
x = [1,3,2,6,5]
y = [1,9,4,36,25]
print(solve(x, y))
输入
[1,3,2,6,5], [1,9,4,36,25]
输出
True