这个问题已经在这里讨论过了,我附加了来自post的代码
def is_bijection(seq1, seq2):
distinct1 = set(seq1)
distinct2 = set(seq2)
distinctMappings = set(zip(seq1, seq2))
return len(distinct1) == len(distinctMappings) and len(distinct2) == len(distinctMappings)
上面的代码片段检查两个sequence是否是双射的。我想扩大范围。我想拉出一个子列表,其中包含导致它不是双射的对。下面是一个例子:
seq1 = ['India','Bangladesh','Nordic','Bangladesh']
seq2 = [12,10,10,11]
如果我们将上述序列发送到附加函数,它将返回false。我还想得到如下列表/主题:
'Bangladesh' - 10
'Bangladesh' - 11
这就说明了不使用双射词的原因。有什么线索吗
编辑:
如果序列(X,Y)遵循以下规则,则它们是双射的:
任何两个不遵循上述规则的序列都是非双射的。我想从这两个序列中得到(X,Y)对的子列表,使它成为非双射的
目前没有回答
相关问题 更多 >
编程相关推荐