给定一个由有限元素集组成的可迭代对象:
(a, b, c, d)
举个例子
从上面的可迭代对象生成以下(伪)有序对的 Pythonic 方法是什么:
ab
ac
ad
bc
bd
cd
一个简单的方法是使用 for 循环,但我想知道是否有一种 pythonic 方式从上面的可迭代对象生成这个列表?
请您参考如下方法:
尝试使用 combinations .
import itertools
combinations = itertools.combinations('abcd', n)
会给你一个迭代器,你可以遍历它或者用list(combinations)将它转换成一个列表
为了仅包含示例中的对,您可以将 2 作为参数传递:
combinations = itertools.combinations('abcd', 2)
>>> print list(combinations)
[('a', 'b'), ('a', 'c'), ('a', 'd'), ('b', 'c'), ('b', 'd'), ('c', 'd')]
