集合关系的Python实现

集合关系的Python实现,python,Python,我将如何使用python实现以下内容?我尝试过使用lambda表达式和其他一些方法,但没有得到预期的结果。基本上,我应该收到一组满足检查的关系。也就是说,它们必须能被彼此整除,所以{(1,1),(1,2),(1,3),…(6,6)} 以下是实际问题: 在Python中,设置一个变量sayS={1,2,3,4,5,6};然后按如下操作:“列出关系R={(a,b):a除以集合{1,2,3,4,5,6}上的b}中的所有有序对”您可以通过列表理解来完成- S = [1,2,3,4,5,6] result

我将如何使用python实现以下内容?我尝试过使用lambda表达式和其他一些方法,但没有得到预期的结果。基本上,我应该收到一组满足检查的关系。也就是说,它们必须能被彼此整除,所以
{(1,1),(1,2),(1,3),…(6,6)}

以下是实际问题:


在Python中,设置一个变量say
S={1,2,3,4,5,6}
;然后按如下操作:“列出关系
R={(a,b):a除以集合
{1,2,3,4,5,6}
上的b}
中的所有有序对”

您可以通过列表理解来完成-

S = [1,2,3,4,5,6]
result = [ (x,y) for x in S for y in S if y%x==0]

您可以在列表理解中使用
itertools.product
,如果您希望它们可以彼此分割,您可以使用条件
i%j==0或j%i==0

>>> from itertools import product
>>> [(i,j) for i,j in product(S,repeat=2) if i%j==0 or j%i==0]
[(1, 1), (1, 2), (1, 3), (1, 4), (1, 5), (1, 6), (2, 1), (2, 2), (2, 4), (2, 6), (3, 1), (3, 3), (3, 6), (4, 1), (4, 2), (4, 4), (5, 1), (5, 5), (6, 1), (6, 2), (6, 3), (6, 6)]

[{(a,b):a/b}代表S中的a代表S中的b]

请给我们看一下您尝试过的代码。彼此可除与a除b不同。itertools的使用很好,我想它与zip(S,S)相同。。是吗?@jazzz一点也不!
zip
将给出具有相同值的对!