簡體   English   中英

將列表解壓縮為幾種組合

[英]Unzip list into several combinations

讓我們看看我是否可以解釋我要尋找的東西。 我想根據是列表中列表的那些元素解開列表(怪異,我知道!)。

我要這個:

a = [[1],[2],[5],[4,6],[3]] 

轉換為:

b = [[[1],[2],[5],[4],[3]],[[1],[2],[5],[6],[3]]]

並也適用於:

a = [[1],[2,3],[5],[4,6],[3]] 

為實現:

b = [[[1],[2],[5],[4],[3]],[[1],[2],[5],[6],[3]],[[1],[3],[5],[4],[3]],[[1],[3],[5],[6],[3]]]

我希望我表達得恰當。 我一直在尋找執行此操作的內置函數,但沒有發現任何問題。

提前謝謝你

您正在尋找itertools.product

>>> import itertools
>>> a = [[1],[2,3],[5],[4,6],[3]]
>>> for tup in itertools.product(*a):
...     print tup
...
(1, 2, 5, 4, 3)
(1, 2, 5, 6, 3)
(1, 3, 5, 4, 3)
(1, 3, 5, 6, 3)

您可以將元組轉換為列表,然后將元素包裝在1元素列表中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM