如何在python中找到两组字符之间的所有组合,有点像笛卡尔积,但我不希望有成对但是组合的子集。
例如:
我们说我们有两套有三个要素
a = {"a", "b", "c"}
b = {"a", "b", "c"}
我如何获得此输出:
c = {{"a", "a"}, {"a", "b"}, {"a", "c"}, {"b", "a"}, {"b", "b"}, {"b", "c"}, {"c", "a"}, {"c", "b"}, {"c", "c"}}
答案 0 :(得分:0)
您将无法获得所要求的输出,因为 - 例如{' a',' a'}无效值(设置不允许重复和此值只会是' a')。
但是,您可以通过创建一组元组来实现您的目标:
set([(x, y) for x in a for y in b])
output: {('b', 'a'), ('a', 'a'), ('b', 'b'), ('a', 'b'), ('c', 'b'),
('c', 'c'), ('b', 'c'), ('a', 'c'), ('c', 'a')}