-4
給出一個像alist = [1, 3, 2, 20, 10, 13]
這樣的列表,我想寫一個函數find_group_f
,它可以生成alist
中所有可能的元素組合,同時我可以動態地控制每個組中元素的數量k
。例如,如果數量k
是2
,功能等於:如何控制python中嵌套for循環的層數?
for e1 in alist:
for e2 in alist[alist.index(e1)+1:]:
print (e1, e2)
雖然數量k
是3,它會像:
for e1 in alist:
for e2 in alist[alist.index(e1)+1:]:
for e3 in alist[alist.index(e2)+1:]:
print (e1, e2, e3)
我不知道如何可以實現這樣的?提前致謝!
有應該是一個STDLIB功能:https://docs.python.org/3 /library/itertools.html#itertools.combinations。 – skovorodkin
使用遞歸:http://stackoverflow.com/questions/7186518/function-with-varying-number-of-for-loops-python –