itertools.product()返回值

tur*_*oup 2 python tuples list

当我尝试运行以下代码时

product([1,2,3],['a','b'])
Run Code Online (Sandbox Code Playgroud)

它返回看起来像

<itertools.product object at 0x01E76D78>
Run Code Online (Sandbox Code Playgroud)

然后我尝试在其上调用list(),我得到以下内容:

[(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b'), (3, 'a'), (3, 'b')]
Run Code Online (Sandbox Code Playgroud)

有没有办法把它变成列表而不是元组?像这样:

[[1, 'a'], [1, 'b'], [2, 'a'], [2, 'b'], [3, 'a'], [3, 'b']]
Run Code Online (Sandbox Code Playgroud)

提前致谢!

Meh*_*dad 5

list(map(list, product([1, 2, 3], ['a', 'b'])))
Run Code Online (Sandbox Code Playgroud)

list()Python 2上不需要最外层,但它适用于Python 3.

  • 这就是为什么我认为列表理解对于交叉兼容更好,尽管这是一项非常奇怪的任务. (2认同)