-10
我有一個整數列表。例如[2,3,4],我想用這些整數的所有可能乘法的結果來擴展列表。這將是在這種情況下6,8,12,24。我將如何做到這一點?請記住,我想要這樣做的列表有16個項目,所以這種情況下的算法可能不是我的情況的一個很好的解決方案。有沒有辦法在Python中做到這一點?
我有一個整數列表。例如[2,3,4],我想用這些整數的所有可能乘法的結果來擴展列表。這將是在這種情況下6,8,12,24。我將如何做到這一點?請記住,我想要這樣做的列表有16個項目,所以這種情況下的算法可能不是我的情況的一個很好的解決方案。有沒有辦法在Python中做到這一點?
以下是在基本Python中的溶液(用僅包括組模塊:-)):
import itertools, functools
lst = [2,3,4]
comb = [itertools.combinations(lst, n) for n in range(2, len(lst) + 1)]
lst2 = []
for seq in itertools.chain(*comb):
lst2.append(functools.reduce(lambda x, y: x * y, seq))
print(lst2)
輸出:
[6, 8, 12, 24]
非常感謝! – user6708727
它可以用任何語言 – yossico
非特異性標題來完成。沒有最小工作示例或僞代碼 – buhtz