将可迭代列表传递给 itertools 函数

发布于 2024-12-09 22:06:58 字数 434 浏览 1 评论 0原文

我正在使用 itertools.product 函数。我有一个 2 层深度的嵌套列表,它是一个可迭代列表。我想将其传递给产品功能,但不知道如何正确格式化它。

需要明确的是,我想要

In [37]: [k for k in product([1,2],['a','b'])]
Out[37]: [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]

但从像这样的nested_list输入生成

nested_list = [[1,2],['a','b']]

,但我得到

In [36]: [k for k in product(nested_list)]
Out[36]: [([1, 2],), (['a', 'b'],)]

i am using the itertools.product function. i have a 2-deep nested list, which is a list of iterables. i want to pass this to product function dont know how to format it correctly.

to be clear, i want

In [37]: [k for k in product([1,2],['a','b'])]
Out[37]: [(1, 'a'), (1, 'b'), (2, 'a'), (2, 'b')]

but generated from the a nested_list input like this

nested_list = [[1,2],['a','b']]

but instead i get

In [36]: [k for k in product(nested_list)]
Out[36]: [([1, 2],), (['a', 'b'],)]

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

仙气飘飘 2024-12-16 22:06:58

product 接受可变数量的参数,因此您需要解压列表。

list(product(*nested_list)) # without list() normally, of course

product takes variable number of arguments, so you need to unpack your list.

list(product(*nested_list)) # without list() normally, of course
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文