2013-08-13 19 views
15

संपादित से तत्वों का अनूठा संयोजन प्राप्त करें।एक अजगर सूची

अगर मैं एक अजगर सूची है:

["1,2,3", "1,2,4", "2,3,4", "3,4,1"] 

के आदेश:

L = [1,2,3,4] 

क्या सबसे अच्छा तरीका है के लिए सभी संभव अद्वितीय संयोजन पाने के लिए है नीचे की तरह सूची में से 3 तत्वों की संयोजन में तत्व कोई फर्क नहीं पड़ता। उदाहरण के लिए, "1,2,3" और "3,2,1" को समान संयोजन माना जाएगा।

मैं शायद ऐसा करने के लिए कुछ लूप लिख सकता हूं लेकिन मुझे लगता है कि एक लाइनर हो सकता है जो ऐसा ही कर सकता है।

उत्तर

25

आप itertools.combinations की जरूरत है:

>>> from itertools import combinations 
>>> L = [1, 2, 3, 4] 
>>> [",".join(map(str, comb)) for comb in combinations(L, 3)] 
['1,2,3', '1,2,4', '1,3,4', '2,3,4'] 
संबंधित मुद्दे