下面是常规使用itertools.product
的代码段:
from itertools import product
arr = [1,2,3]
pairs = list(product(arr, arr))
# pairs = [(1, 1), (1, 2), (1, 3), (2, 1), (2, 2), (2, 3), (3, 1), (3, 2), (3, 3)]
现在,我希望这些点的产生顺序可以通过以下方式对结果元组进行排序来实现:
sorted(pairs, key=lambda y:max(y))
# [(1, 1), (1, 2), (2, 1), (2, 2), (1, 3), (2, 3), (3, 1), (3, 2), (3, 3)]
我是否可以将这些数字输入到itertools.product
中,以便按此顺序生成元组,或者在对itertools.product
的结果进行迭代之后是否需要对这些对进行排序?>
答案 0 :(得分:0)
您可能可以使用自己修改的方法一次性实现这一目标。
with()
输出
[(1,1),(1,2),(2,1),(2,2),(1,3),(2,3),(3,1),(3,2 ),(3,3)]