在 Python 中,是否有一种简洁的方法来使用具有多个迭代器的列表推导?

2022-01-10 00:00:00 python list-comprehension iterator

问题描述

基本上,我想在两个迭代器的笛卡尔积"上构建一个列表理解.想想下面的 Haskell 代码:

Basically, I would like to build a list comprehension over the "cartesian product" of two iterators. Think about the following Haskell code:

[(i,j) | i <- [1,2], j <- [1..4]]

产生

[(1,1),(1,2),(1,3),(1,4),(2,1),(2,2),(2,3),(2,4)]

能否以简洁的方式在 Python 中获得类似的行为?

Can I obtain a similar behavior in Python in a concise way?


解决方案

你问这个吗?

[ (i,j) for i in range(1,3) for j in range(1,5) ]

相关文章