0
我有一個變量,如下所示:組合的字符串
symbols = ['KEL','BYCO']
我想如下圖所示,這將使這些符號作爲輸出的組合功能
['KEL'],['BYCO'] and ['KEL','BYCO']
可能有人推薦任何庫/功能通過它我可以實現這樣的組合,給定一個包含n個字符串的變量。
我有一個變量,如下所示:組合的字符串
symbols = ['KEL','BYCO']
我想如下圖所示,這將使這些符號作爲輸出的組合功能
['KEL'],['BYCO'] and ['KEL','BYCO']
可能有人推薦任何庫/功能通過它我可以實現這樣的組合,給定一個包含n個字符串的變量。
我想這是你想要什麼:
Python 2.7.6 (default, Oct 26 2016, 20:30:19)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
>>> from itertools import combinations, chain
>>>
>>> def powerset(iterable):
... "powerset([1,2,3]) -->() (1,) (2,) (3,) (1,2) (1,3) (2,3) (1,2,3)"
... s = list(iterable)
... return chain.from_iterable(combinations(s, r) for r in range(len(s)+1))
...
>>> symbols = ['KEL','BYCO']
>>>
>>> list(powerset(symbols))
[(), ('KEL',), ('BYCO',), ('KEL', 'BYCO')]
這裏的powerset
功能是直接從文檔解禁:https://docs.python.org/2/library/itertools.html
謝謝。這是我想要的。 –
你在找什麼看起來像*冪*。空的列表也是一個組合...你可以使用'itertools.combinations' ... –
我已經看過這個功能。在itertools.combination(iterable,r)中會是什麼?在一個例子中,我需要它是1來實現我的輸出的前兩個元素,然後我需要r是2來獲得最後的輸出。因此它不適合我。 –
現在你只需要增加長度並生成那個長度的組合。你想包括功率集? –